Colorir e trocando cores com biblioteca de imagens PHP GD?
-
23-08-2019 - |
Pergunta
Olá, eu estou no processo de tentar colorir e cores de swap em uma imagem usando a biblioteca de imagem GD com PHP.
Eu estou usando uma imagem original localizado aqui: http://korlon.com/youknowbetter/test.jpg
e deseja obtê-lo a um ponto em que é cara de laranja com roupas pretas e cabelos muito como você vê aqui: http: //youknowdifferent.org/
Até agora eu usei o código a seguir:
<?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);
?>
Para obtê-lo perto, mas eu ainda estou perdendo a capacidade de transformar todos os tons de branco para tons pretos. http://korlon.com/youknowbetter/filter.php
Eu tentei trocar branco para o preto como instruído nesta pergunta aqui: Posso trocar as cores na imagem usando a biblioteca GD em PHP?
No entanto, isso não parece trabalho. Na verdade, não trocar as cores. É isso porque eu estou usando um jpg e não um gif? Existe algo que eu preciso fazer com a paleta de cores?
Obrigado, qualquer ajuda seria muito apreciada!
Stoob
Solução
uso Blue (# 0276DB) em vez de laranja, e, em seguida, inversa a imagem (usando IMAGE_FILTER_NEGATE
) para obter laranja e preto.
Assim, seu código será:
<?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);
?>