14

私はできる限りグーグルで検索しましたが、Inkscapeを呼び出してSVGをレンダリングするPHPクラスしか見つけられなかったので、ここで質問します。

何らかの方法で生成された(またはクライアントによってアップロードされた)有効なSVGファイルがあります。SVGはすべてのブラウザでサポートされているわけではないため、PHPやGDLibのみを使用してこれをJPGまたはPNGにレンダリングする必要があります。

私には何もインストールするオプションがないので、GDLibを使用してSVGをPNGに変換するクラスが最も理想的です。

4

1 に答える 1

29

ImageMagickがインストールされているかどうかを確認します(を使用して確認できますphpinfo)。そうである場合は、次のコードを使用してPNGをカバーできます。

$image = new Imagick();
$image->readImageBlob(file_get_contents('image.svg'));
$image->setImageFormat("png24");
$image->resizeImage(1024, 768, imagick::FILTER_LANCZOS, 1); 
$image->writeImage('image.png');

これについて議論しているスレッドはたくさんあります。特に便利なのはこのスレッドです: PHPでSVG画像をPNGに変換する

于 2012-04-23T23:34:30.460 に答える