Colorisation et échanger les couleurs avec PHP GD Image Library?
-
23-08-2019 - |
Question
Bonjour, je suis en train d'essayer de coloriser et les couleurs d'échange sur une image en utilisant la bibliothèque d'image GD avec PHP.
J'utilise une image originale située ici: http://korlon.com/youknowbetter/test.jpg
et que vous souhaitez 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 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
Je l'ai essayé échangeant blanc pour le noir comme indiqué dans cette question ici: Puis-je changer de couleur dans l'image en utilisant la bibliothèque GD PHP
Cependant, cela ne semble pas fonctionner. Il ne fait pas échanger les couleurs. Est-ce parce que je me sers d'un jpg et non un gif? Y at-il quelque chose que je dois faire avec la palette de couleurs?
Merci, toute aide serait grandement appréciée!
Stoob
La solution
utiliser le bleu (# 0276DB) au lieu d'orange, puis inverse l'image (en utilisant IMAGE_FILTER_NEGATE
) pour obtenir orange et noir.
Alors, 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);
?>