2

.svg ファイルを変換し、.svg または jpeg 形式で保存する必要があります。ImageMagick の問題は、変換されたファイルを白い背景に保存することであり、私はそれを透明にする必要があります。

他のツールや明確な php に関する提案はありますか? 本当に感謝します。

4

3 に答える 3

4

正しい ImageMagick コマンドは次のようになります。

convert -background none somefile.svg somefile.png

JPEG は透明度をサポートしていないため、ファイル形式として PNG または GIF を使用する必要があります。

PHP で使用するには:

<?php
$svg_file_name = "somefile.svg";
$png_file_name = "somefile.png;
system("convert -background none $svg_file_name $png_file_name");
?>
于 2010-06-25T09:32:32.953 に答える
0

PHP内からSVGファイルを簡単に変換できるとは思えません。SVGファイルは基本的にXMLファイルで、規格は公開されているので、誰でもコンバーターを作ることができます...

私は外部ツールを選びます。スクリプト言語内から処理するよりも簡単で高速です。また、スクリプトの作成者がアプリケーションのコマンド ライン スイッチを見つける方法を実際に知らない場合は、はるかに安全です。 JPEG ファイルは透明度をサポートしていません:)

convert -background none somefile.svg somefile.pngジェンスが言ったように行ってください...

于 2010-06-25T10:32:31.530 に答える
0

JPEG では透明化を行うことはできませんが、SVG を透明な背景を持つ PNG として保存する方法は次のとおりです...

$image = new Imagick();
$image->setBackgroundColor(new ImagickPixel('transparent')); 
$image->readImage('somefile.svg');

// ... do any image manipulation you need to here ... 

$image->setImageFormat('png32');
$image->writeImage('somefile.png');
于 2012-09-21T19:44:12.027 に答える