Gd et GD2 image php

Fermé
emilie - 4 mars 2005 à 12:04
 zeubu - 27 nov. 2005 à 12:39
Bonjour a tous,
voila je travaille actuellement sur le traitement des images via fonction php, et plus particulierement sur le contraste, j'ai la librairie gd2 installé,
ma fonction contient plusieur appel a des function de cette bibliotheque notemment "imagecreatetruecolor()" ou "imagefilter()":
Le probleme est qu'a la compilation le "imagecreatetruecolor()" passe tres bien mais il me sort une errur sur le "imagefilter()":


Fatal error: Call to undefined function: imagefilter()

La question est : D'ou vient cette erreur? Est il possible que le imagefilter est besoin de la bibliotheque gd alors que j'ai la GD2 deja installé(alors que la gd2 est plus recente)?
A voir également:

3 réponses

GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 386
4 mars 2005 à 13:12
Comme expliquer dans le message d'erreur, il semblerai que la fonction imagefilter() ne soit pas disponible.

J'ai regarder dans la doc et j'ai trouver cette note sur la fonction imagefilter:
Cette fonction n'est disponible que si PHP est compilé avec la version embarquée de la bibliothèque GD.

Il semble donc que tu n'ai pas la version embarqué de GD (me demande pas ce que ca veut dire, je sais pas :-( ).
0
bon voila, en fait j'ai trouver pourquoi il ne voulait pas du imagefilter, tout simplement car j'ai php4 et non le php5....

le probleme étant que je veux contraster une photo!

Quelqu'un a t il une idée de comment faire sans utiliser bien sur le imagefilter?

merci
0
Moi je cherche à faire du négatif sur les images, c'est à peu près la même chose et j'ai le même problème.
Actuellement je converti mon image pixel par pixel ce qui est plutôt très long ~1seconde les 10ko d'image.

$x_d=imagesx($im3);
$y_d=imagesy($im3);
for($x=0;$x<$x_d;$x++){
for($y=0;$y<$y_d;$y++) {
$rgb=imagecolorat($im3,$x,$y);
$r=($rgb>>16)&0xFF;
$g=($rgb>>8)&0xFF;
$b=$rgb&0xFF;
$g=255-$g;$r=255-$r;$b=255-$b;
$color=imagecolorallocate($im3,$r,$g,$b);
imagesetpixel($im3,$x,$y,$color);
}}

Ce code n'est peu être pas optimisé.
(je ne suis pas un maître en php)
Si quelqu'un à plus rapide je suis preneur.
0