問題Imagick:: newPseudoImage
を使用して放射状グラデーションを作成すると、このエラーがApache HTTPエラーログに表示され、放射状グラデーションが作成されません。
PHP致命的なエラー:キャッチされない例外'ImagickException'とメッセージ'新しい疑似イメージを作成できません:radial-gradient:#FF0000-#FFFFFF'/var/www/html/energy/scripts/rg.php:6\nスタックトレース: \ n#0 /var/www/html/energy/scripts/rg.php(6):Imagick-> newpseudoimage(150,150、'radial-gradient ...')\ n#1 {main}\nスローイン/ 6行目のvar/www / html / energy / scripts / rg.php
研究Imagick::newPseudoImageのPHPドキュメントが不足していますが、リンクテキストによると(「放射状」を検索):
RADIAL_GRADIENT...あるシェードから別のシェードへの段階的な放射状通過...指定された画像サイズを使用してレンダリングされた放射状グラデーション画像を返します。ファイル名の一部として目的のシェーディングを指定します(例:radial-gradient:red-blueまたはradial-gradient:#F00-#00F)。
「radial-gradient」の代わりに「RADIAL_GRADIENT」と考えられる他のすべての組み合わせを使用してみました。最終的には、hexの代わりにImagick :: newPseudoImage RGB値をフィードし、作成された画像をディスクに保存したいと思います。
私のPHPスクリプト
//新しいimagickオブジェクトを作成します。
$ image = new Imagick();
//赤から白への放射状のグラデーションフェード、150x150ピクセルの新しい画像。$ image-> newPseudoImage(150,150、'radial-gradient:#FF0000-#FFFFFF');
//画像形式をPNGに設定します。
$ image-> setImageFormat('png');
//画像を出力します。
header( "Content-Type:image / png");
エコー$image;
私の環境
imagick3.0.1RC1ImageMagick
6.2.8.0
PHP 5.2.14
RedHat Enterprise Linux 5.5
ありがとうございました :-)