2010-08-23 155 views
0

問題
當使用Imagick :: newPseudoImage形成放射狀的梯度,這種錯誤出現在的Apache HTTP錯誤日誌和徑向漸變不創建:Imagick是否支持徑向漸變?

PHP Fatal error: Uncaught exception 'ImagickException' with message 'Unable to create new pseudo image: radial-gradient:#FF0000-#FFFFFF' in /var/www/html/energy/scripts/rg.php:6\nStack trace:\n#0 /var/www/html/energy/scripts/rg.php(6): Imagick->newpseudoimage(150,150, 'radial-gradient...')\n#1 {main}\n thrown in /var/www/html/energy/scripts/rg.php on line 6


的PHP缺少Imagick :: newPseudoImage的文檔,但根據link text(搜索「徑向」):

RADIAL_GRADIENT...Gradual radial passing from one shade to another...Returns a rendered radial gradient image using the specified image size. Specify the desired shading as part of the filename (e.g. radial-gradient:red-blue or radial-gradient:#F00-#00F).

我試過使用「RADIAL_GRADIENT」而不是「radial-gradient」和其他所有可以想到的組合。最近,我想餵養Imagick :: newPseudoImage RGB值而不是十六進制,並將創建的圖像保存到磁盤。

我的PHP腳本

//創建一個新imagick對象。
$ image = new Imagick();

//一張徑向漸變從紅色變爲白色,150 x 150像素的新圖像。 $ image-> newPseudoImage(150,150,'radial-gradient:#FF0000-#FFFFFF');

//將圖像格式設置爲PNG。
$ image-> setImageFormat('png');

//輸出圖像。
header(「Content-Type:image/png」);
echo $ image;

我的環境
imagick 3.0.1RC1
的ImageMagick 6.2.8.0
PHP 5.2.14
紅帽企業版Linux 5.5

謝謝:-)

回答

0

您正在使用的ImageMagick 6.2.8;最新的是6.6.3。這兩個版本之間有很多增強功能。您參考的文檔頁面描述了最新版本(據我所知)。

他們的下載頁面有RPMs,用於在CentOS 5.4上安裝最新版本(與RedHat Enterprise Linux 5.4基本相同)。這些很可能在5.5以及工作 - 給他們一個嘗試:)

(我不知道很多關於PHP的綁定,所以不能幫你恐怕:)

+0

謝謝!我卸載了我係統上的舊RedHat ImageMagick,並從ftp.imagemagick.com/安裝了較新的RPM(ImageMagick-6.6.3-9.x86_64.rpm和ImageMagick-devel-6.6.3-9.x86_64.rpm)。安裝程序通知我需要其他一些依賴關係。總的來說,安裝很容易。我現在能夠使用imagick創建徑向漸變圖像:-) – Nick 2010-08-24 22:51:22