2009-04-04 7 views
4

Bonjour, Je suis en train d'essayer de colorier et d'échanger des couleurs sur une image en utilisant la bibliothèque d'images GD avec PHP.Colorisation et permutation des couleurs avec PHP GD Image Library?

J'utilise une image originale située ici: http://korlon.com/youknowbetter/test.jpg

et je souhaite obtenir à un point où il est le visage orange avec des vêtements noirs et les cheveux un peu comme vous voyez ici: http://youknowdifferent.org/

Jusqu'à présent Je l'ai utilisé le code suivant:

<?php 
header('Content-type: image/jpeg'); 
$im = imagecreatefromjpeg('test.jpg'); 



imagefilter($im, IMG_FILTER_GRAYSCALE); 
imagefilter($im, IMG_FILTER_CONTRAST, 255); 
imagefilter($im, IMG_FILTER_NEGATE); 
imagefilter($im, IMG_FILTER_COLORIZE, 252, 137, 36); 


imagejpeg($im); 
?> 

pour l'obtenir près, mais je manque encore la capacité de transformer toutes les nuances de blanc aux tons noirs. http://korlon.com/youknowbetter/filter.php

J'ai essayé de remplacer des blanc pour le noir comme indiqué dans cette question ici: Can I swap colors in image using GD library in PHP?

Cependant, cela ne semble pas fonctionner. Il n'échange pas réellement les couleurs. Est-ce parce que j'utilise un jpg et non un gif? Y a-t-il quelque chose que je dois faire avec la palette de couleurs?

Merci, toute aide serait grandement appréciée!

Stoob

Répondre

5

utiliser le bleu (# 0276DB) au lieu d'orange, puis inversent l'image (en utilisant IMAGE_FILTER_NEGATE) pour obtenir orange et noir.

Ainsi, votre code sera:

<?php 
header('Content-type: image/jpeg'); 
$im = imagecreatefromjpeg('test.jpg'); 



imagefilter($im, IMG_FILTER_GRAYSCALE); 
imagefilter($im, IMG_FILTER_CONTRAST, 255); 
imagefilter($im, IMG_FILTER_NEGATE); 
imagefilter($im, IMG_FILTER_COLORIZE, 2, 118, 219); 
imagefilter($im, IMG_FILTER_NEGATE); 

imagejpeg($im); 
?> 
Questions connexes