.svg ファイルを変換し、.svg または jpeg 形式で保存する必要があります。ImageMagick の問題は、変換されたファイルを白い背景に保存することであり、私はそれを透明にする必要があります。
他のツールや明確な php に関する提案はありますか? 本当に感謝します。
.svg ファイルを変換し、.svg または jpeg 形式で保存する必要があります。ImageMagick の問題は、変換されたファイルを白い背景に保存することであり、私はそれを透明にする必要があります。
他のツールや明確な php に関する提案はありますか? 本当に感謝します。
正しい 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");
?>
PHP内からSVGファイルを簡単に変換できるとは思えません。SVGファイルは基本的にXMLファイルで、規格は公開されているので、誰でもコンバーターを作ることができます...
私は外部ツールを選びます。スクリプト言語内から処理するよりも簡単で高速です。また、スクリプトの作成者がアプリケーションのコマンド ライン スイッチを見つける方法を実際に知らない場合は、はるかに安全です。 JPEG ファイルは透明度をサポートしていません:)
convert -background none somefile.svg somefile.png
ジェンスが言ったように行ってください...
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');