Appliquer un filtre gros sur une image

pssinjaune Messages postés 39 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 22 septembre 2007 - 10 nov. 2006 à 01:36
pssinjaune Messages postés 39 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 22 septembre 2007 - 10 nov. 2006 à 15:10
Salut Salut,

J'ai mené quelques recherches sans sucés c'est pourquoi je m'en remet à vous.... on ne sait jamais si quelqu'un a déjà fait ca ^^.
Je voudrais pouvoir grace a une fonction php, appliquer un filtre gris ou alors modifier l'image carrément pour changer les couleurs en niveau de gris...
Un petit exemple:
http://www.lesproteines.com/
sous le panier défile le logo des marques vendu par le site, les logos sont tous gris..

Voilà vous etes mon derniers espoir :)

a bientot en espérant que vous saurez m'aider!
++
seb

3 réponses

cs_alexscott Messages postés 54 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 10 novembre 2006
10 nov. 2006 à 06:23
bon ben je reponds en 2 liens pour la lib GD:
- http://fr.php.net/manual/fr/function.imagefilter.php
- http://fr.php.net/manual/fr/function.imagecopymergegray.php

et sinon je ne peux pas me passer de conseiller imagemagick qui est fabuleux pour travailler les images:
- http://www.imagemagick.org
surtout qu'il existe une lib pour le php:
- http://www.magickwand.org/download/php/
0
juki_webmaster Messages postés 947 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 5 avril 2008 3
10 nov. 2006 à 10:51
Cela s'appel du Grayscale http://fr.wikipedia.org/wiki/Niveau_de_gris
Exemple d'une implementation en C :

void DrawGrayScale() {
int i;
BYTE r, g, b, y;
for(i = 0; i < cxDib * cyDib; i++) {
b = pbitsbmp[i * 3]; // Blue
g = pbitsbmp[i * 3 + 1]; // Green
r = pbitsbmp[i * 3 + 2]; // Red
y = (306 * r + 601 * g + 117 * b) >> 10; // 0.299 * r + 0.587 * g + 0.114 * b
pbitsbmp[i * 3] = y;
pbitsbmp[i * 3 + 1] = y;
pbitsbmp[i * 3 + 2] = y;
}
}

Il te faut juste trois fonctions de la lib GD pour le faire :

ImageColorAt() imagecolorallocate() imagesetpixel()
0
pssinjaune Messages postés 39 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 22 septembre 2007
10 nov. 2006 à 15:10
Cool, merci beaucoup les gars, je vais regarder tout ca.

encore merci,
seb
0
Rejoignez-nous