2016-12-07 4 views
1

私は多くの類似の質問を行っています.iは私の問題の答えを見つけることができませんでした。svgからpngに変換すると空白の画像が生成されます

私はsvgイメージを持っています。私はそれをPNG画像に変換しようとしています。

300dpiイメージをbackgroundのsvgイメージとして使用しています。今度は600dpiに変更しました。その後、imagickは空のpngイメージを返します。

  $svg=path to svg;    
      $im = new Imagick(); 
      $im->readImageBlob($svg); 
      $im->setImageFormat("png32"); 
      $im->setImageCompressionQuality(100); 
      $im->resizeImage(720, 445, imagick::FILTER_LANCZOS, 1); 
      $base64=base64_encode($im); 
      $im->clear(); 
      $im->destroy(); 
      return 'data:image/jpg;base64,' . $base64; //returns blank png 

ここでは何が欠けていますか?私はどのライブラリを含める必要がありますか?

PHPバージョン:7

のImagick VERSION:ImageMagickの

答えて

0

6.8.9-9 Imagick::readImageBlob

の文書を見ては、バイナリ文字列から画像を読み取り

これはないようですファイルパスから読み込む正しい方法。 あなたはImagick::readImage

ファイル名から画像を読み取り、使用する必要がいずれか

$im = new Imagick(); 
$im->readImage($svg); 

又は Imagick::__construct

Imagick::__construct (mixed $files) 

は、指定された画像のためのImagickインスタンスを作成するか、画像のセットコンストラクタ。

$im = new Imagick($svg); 
+0

まだ動作しません。 – NID

関連する問題