0

問題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

ありがとうございました :-)

4

1 に答える 1

0

ImageMagick6.2.8を使用しています。最新は6.6.3です。これらの2つのバージョンの間には多くの機能強化がありました。参照しているドキュメントページには、最新バージョンが記載されています(私が知る限り)。

彼らのダウンロードページには、CentOS 5.4に最新バージョンをインストールするためのRPMがあります(これは基本的にRedHat Enterprise Linux 5.4と同じです)。これらは5.5でも機能する可能性があります-試してみてください:)

(私はPHPバインディングについてあまり知らないので、私が恐れていることであなたを助けることはできません:)

于 2010-08-23T17:04:46.150 に答える