Gd et GD2 image php

emilie -  
 zeubu -
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)?

3 réponses

GallyNet Messages postés 434 Date d'inscription   Statut Membre Dernière intervention   387
 
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
emilie
 
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
zeubu
 
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