您好我正在尝试使用带有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);
?>
要靠近它,但我仍然无法将所有白色阴影变为黑色阴影。 http://korlon.com/youknowbetter/filter.php
我已尝试按照此问题中的说明将白色替换为黑色: Can I swap colors in image using GD library in PHP?
然而,这似乎不起作用。它实际上并没有换掉颜色。是因为我使用的是jpg而不是gif?我需要用调色板做些什么吗?
谢谢,非常感谢任何帮助!
施托布
答案 0 :(得分: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);
?>