Version complète: sur le forum Webmaster Hub : Images en noir et blanc
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Deedee
Salut a tous,
Voila j'aimerais convertir une image en noir et blanc via la librairie GD.

Je comptai faire comme ceci :

Passer en revue tous les pixels, les comparer avec un seuil, et lui donner une couleur entre le blanc et le noir.
A l'arrivé on aura fait un tramage complet de l'image et elle sera en noire et blanc smile.gif

Seulement, je ne sais comment déterminer le seuil, ainsi que la future couleur attribué au pixel ?

Si quelqu'un pouvait m'en dire plus ?

Merci d'avance wink.gif

Deedee
sarc
Bonjour !

J'ai trouvé la fonction imagecopymergegray qui fait peut-être ce que tu demandes (du moins j'ai pas vraiment compris l'explication du manuel, mais elle a l'air de créer une image en niveaux de gris...)

En tout cas, ce que tu veux faire, ce sera violent pour la mémoire du serveur, j'espère que tu n'auras pas beaucoup d'images à faire comme ça ! tongue.gif

Essaye la fonction... Sinon je ne sais pas !
Boo2M0rs0
Bonjour, la fonction donnée par sarc fusionne 2 images qui sont déjà en noir et blanc, peut être qu'en se servant de cette fonction en copiant l'image entière, la librairie va peut être convertir l'image en noir et blanc. A tester...

Sinon, ben oui il va te falloir passer en revue tout les pixels avec une boucle et la fonction imagecolorat puis de remplacer avec la fonction imagecolorset.
Deedee
Merci a vous 2 smile.gif

Pour la fonction de Sarc j'avais déja essayé sans résultat.

Pour Boo2 c'est ce que je comptais faire mais je ne sais pas comment determiner la palette ?

imagecolorset ( resource image, int index, int red, int green, int blue )

Merci d'avance,

Deedee
Boo2M0rs0
Heu finalement je me suis peut être trompé de fonction à utiliser hypocrite.gif en m'essayant à écrire un code, j'ai trouvé ce commentaire:
http://fr.php.net/manual/fr/function.imagecolorset.php#41841
Deedee
Merci Boo2M0rs0 mais apparement elle ne marche pas :|
Ou je susi un boulet biggrin.gif

Deedee
Tizel
Il y en a une autre ici :
http://www.nexen.net/scripts/details.php?scripts=665

Tizel

PS: c'est plutôt en "nuance de gris" que tu souhaite sans doute convertir ton image, car en noir et blanc, le rendu sera plus que moyen.
Deedee
Egalement épuré Nexen Tizel masi ca ne fonctionne pas non plus lol
Ou alors je suis un vrai manchot tongue.gif
sarc
Dis nous quand même tes messages d'erreur, enfin le résultat des scripts, sinon on peut pas vraiment savoir ce qui va pas... Ta bibliothèque GD est bien activée avec toutes les fonctions nécessaires ?
Bizarre que plusieurs scripts ne marchent pas quand même...
Boo2M0rs0
Hmm j'ai testé que ma solution et elle marchait Oo:

Peut être un truc à préciser, ces fonctions ne demandent pas en paramètre le nom du fichier mais la ressource d'une image gd:

$image = imagecreatefromjpeg("monimage.jpg");
ConvertGreyscale($image);
imagejpeg($image); //affiche l'image
imagejpeg($image, 'monimage.gray.jpg'); // ou la sauvegarde
Deedee
Hé bien pour la fonction de Nexen et le reste ca ne fait rien donc pas d'erreur masi pas de changement.

Apres quelques tests en faite il s'avere que cela fonctionne avec des GIF mais pas des JPEG
Country
Pour la fonction de Nexen, en fait il te faut d'abord convertir ton image en image à palette avec la fonction imagetruecolortopalette()

CODE
$image = imagecreatefromjpeg("tonimage.jpg");
imagetruecolortopalette($image, false, 256);
ConvertGreyscale($image);
header('Content-Type:image/jpeg');
imagejpeg($image); //affiche l'image


Et là ça marche parfaitement ^_^
Deedee
Nickel Merci beaucoup tout le monde !!

Maintenant remerciement personnel et par ordre d'apparition :

Merci à Sarc, Boo2M0rs0, Tizel, et Country wink.gif

Ca gere !
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.