2010-08-23 19 views
0

PROBLÈME
Lorsque vous utilisez Imagick :: newPseudoImage pour créer un dégradé radial, cette erreur apparaît dans le journal d'erreur HTTP Apache et le dégradé radial n'est pas créé:Est-ce que Imagick prend en charge les dégradés radiaux?

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

RECHERCHE
Le PHP documentation pour Imagick :: newPseudoImage fait défaut mais selon link text (recherche de "radial"):

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).

J'ai essayé d'utiliser "RADIAL_GRADIENT" au lieu de "radial-gradient" et toutes les autres combinaisons auxquelles je pouvais penser. En fin de compte, je voudrais nourrir les valeurs RVB Imagick :: newPseudoImage au lieu de hex et enregistrer les images créées sur le disque.

Mon script PHP

// Création d'un nouvel objet imagick.
$ image = new Imagick();

// Une nouvelle image avec un dégradé radial passant du rouge au blanc, 150 par 150 pixels. $ image-> newPseudoImage (150,150, 'radial-gradient: # FF0000- # FFFFFF');

// Définit le format d'image sur PNG.
$ image-> setImageFormat ('png');

// Sortie de l'image.
header ("Content-Type: image/png");
echo $ image;

Mon environnement
imagick 3.0.1RC1
ImageMagick 6.2.8.0
PHP 5.2.14
RedHat Enterprise Linux 5,5

Merci :-)

Répondre

0

Vous utilisez ImageMagick 6.2.8; le dernier en date est 6.6.3. Il y a eu beaucoup d'améliorations entre ces deux versions. La page de documentation que vous référencez décrit la dernière version (pour autant que je sache).

Leur page de téléchargement a des RPM pour installer la dernière version sur CentOS 5.4 (qui est essentiellement identique à RedHat Enterprise Linux 5.4). Ceux-ci peuvent bien travailler sur 5,5 et - les essayer :)

(Je ne sais pas beaucoup sur les liaisons PHP, ne peut donc pas vous aider que j'ai peur :)

+0

Merci! J'ai désinstallé l'ancien RedHat ImageMagick sur mon système et installé les nouveaux RPM (ImageMagick-6.6.3-9.x86_64.rpm et ImageMagick-devel-6.6.3-9.x86_64.rpm) à partir de ftp.imagemagick.com/. L'installateur m'a prévenu que quelques autres dépendances étaient nécessaires. Dans l'ensemble, l'installation était facile. Je suis maintenant capable de créer des images à gradient radial en utilisant imagick :-) – Nick