Page 1 sur 1

Colorier une image

Posté : 22 mai 2010, 00:44
par Castor Gaspard
Bonjour,

(J'ai suivi le conseil de Zeus, je me suis inscrit.)

Je souhaiterai (simplement !) colorier une image, et je n'y arrive pas. Php l'autorise-t-il ?

Le code que j'utilise est :
$im = imagecreatefrompng('image.png');
imagecolorallocate($im,255,128,65);
imagecolorallocatealpha($im,255,128,65,66); // Les valeurs sont inscrites au hasard juste pour le test
imagepng($im, 'imagesortie.png');
imagedestroy($im);
Or, avec ces instructions, mon image est simplement dupliquée.

Sur ce point, une question complémentaire : en formant l'hypothèse que Php autorise la peinture, vaut-il mieux partir d'une image avec un gris "moyen", un blanc ou un noir ?

En fait, je suis tracassé parce que l'exemple du manuel (http://www.php.net/manual/fr/function.i ... locate.php) ne fonctionne pas, ou alors j'ai mal compris :wink: :
$im = imagecreate(100, 100);
// Le fond de l'image est en rouge
$background = imagecolorallocate($im, 255, 0, 0);
// On définit des couleurs avec des entiers ..
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
// .. ou des hexadécimaux
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);
Sur mon serveur d'évaluation Xampp pour Linux, en local, j'ai pourtant Gd d'activé. :(

Merci pour votre aide. :mrgreen:

Gaspard

Re: Colorier une image

Posté : 22 mai 2010, 14:28
par .spols
la fonction imagecolorallocate ne sert qu'a instancier une couleur dans une variable qui sera utilisé plus tard. tu peux utiliser une autre fonction pour colorer ton image avec une couleur créée précédement.

Explique un peu plus ce que tu désire, à quoi resemble ton image de départ et à quoi doit ressembler ton image en sortie.

si tu veux juste une image de couleur unie, peu importe la couleur de ton image de départ, mais il est inutile d'en avoir une

Re: Colorier une image

Posté : 22 mai 2010, 19:58
par Castor Gaspard
Bonjour,

Merci .spools de m'avoir répondu. 8-)

En fait, il s'agit de peindre des images à la volée :
- deux triangles de 11 pixels,
- une icône Rss,
- un "Favicon" (peut-être, car le format ".ico" est spécifique).

Pour expliquer le but du projet, il s'agit de proposer aux utilisateurs de créer une feuille de style selon leurs préférences, et de reprendre leur couleur favorite pour peindre les fameuses images. :)

Merci.

Cordialement,

Gaspard

Re: Colorier une image

Posté : 23 mai 2010, 00:51
par Castor Gaspard
Bonjour,

Je pense avoir avancé en utilisant la fonction imagefilter, http://us2.php.net/manual/fr/function.imagefilter.php.

Hélas, comme le dit un contributeur sur la même page, la transparence n'est pas conservée, le fond de l'image étant irrémédiablement converti en noir. :evil:

Enfin, je pense être dans la bonne direction.

Cordialement,

Gaspard

Re: Colorier une image

Posté : 24 mai 2010, 11:17
par Castor Gaspard
Bonjour,

Je me réponds à moi-même pour indiquer qu'il suffit d'appliquer comme quatrième paramètre la valeur -255 pour que le transparence s'applique à la bordure. :D

Merci pour votre attention.

Cordialement,

Gaspard