使用PHP GD Image Library着色和交换颜色?

Sto*_*oob 4 php gd image imagefilter

您好我正在尝试使用带有PHP的GD图像库在图像上着色和交换颜色.

我正在使用原始图片:http: //korlon.com/youknowbetter/test.jpg

并且希望能够达到一个橙色的脸,黑色的衣服和头发,就像你在这里看到的那样:http: //youknowdifferent.org/

到目前为止,我使用了以下代码:

<?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);
?>
Run Code Online (Sandbox Code Playgroud)

为了让它接近但我仍然缺少将所有白色阴影变为黑色阴影的能力. http://korlon.com/youknowbetter/filter.php

我已经尝试过按照这个问题中的指示交换白色为黑色: 我可以使用PHP中的GD库在图像中交换颜色吗?

然而,这似乎不起作用.它实际上并没有换掉颜色.是因为我使用的是jpg而不是gif?我需要用调色板做些什么吗?

谢谢,任何帮助将不胜感激!

施托布

Azi*_*ziz 5

使用蓝色(#0276DB)代替橙色,然后反转图像(使用IMAGE_FILTER_NEGATE)以获得橙色和黑色.

所以,你的代码将是:

<?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);
?>
Run Code Online (Sandbox Code Playgroud)