イメージにテキストを追加する簡単なスクリプトを作成しています。私のスクリプトを何回か繰り返して、間違いを探した後、私は最終的にphp.netからサンプルを実行しようと決心しました。同じ、わかりにくいエラーが発生しました:「フォントメトリクスを照会できませんでした」。コードは次のとおりです:Imagick:フォントメトリクスのクエリに失敗しました
/* Text to write */
$text = "Hello World!";
/* Create Imagick objects */
$image = new Imagick();
$draw = new ImagickDraw();
$color = new ImagickPixel('#000000');
$background = new ImagickPixel('none'); // Transparent
/* Font properties */
$draw->setFont('Arial');
$draw->setFontSize(50);
$draw->setFillColor($color);
$draw->setStrokeAntialias(true);
$draw->setTextAntialias(true);
/* Get font metrics */
$metrics = $image->queryFontMetrics($draw, $text);
/* Create text */
$draw->annotation(0, $metrics['ascender'], $text);
/* Create image */
$image->newImage($metrics['textWidth'], $metrics['textHeight'], $background);
$image->setImageFormat('png');
$image->drawImage($draw);
/* Save image */
file_put_contents('/tmp/file.png', $image);
私の人生にとって私はこのエラーについてgoogle経由で情報を見つけることはできません。また、この方法や失敗する可能性のある原因に関する適切な文書を見つけることもできません。基本的に、私は困惑しています。誰かが洞察力や修正を提供できれば、大いに感謝します。
ImageMagicバージョン:ImageMagickの6.6.5-10 2011-04-06 Q16
のImagickモジュールのバージョン:3.1.0b1
私はPHPから何も戻ってきていないので、シェルで実行した結果、フリータイプのデリゲートが見つからないことがわかりました。私がconvert -listを実行したことを確認するには、 "DELEGATES jpeg jng png zlib"を見つけてください。だから、私はその依存関係を満たす必要があるように見え、何か進歩しているかどうかを見ています...ありがとうbtw、私は自分のコードで何が間違っていたかを調べることに集中し、イメージマジックアプリケーションはそれ自身です。 – Pizano
nevermindいつもimagemagickは多くのものに依存するモジュールをたくさん持っています。一度、私は追記依存関係の問題に立ち往生し、同じことが私にも起こりました。 – Hardik