4

您好,我正在尝试使用带有 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

我已尝试按照此处问题中的说明将白色换成黑色: 我可以使用 PHP 中的 GD 库交换图像中的颜色吗?

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

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

斯托布

4

1 回答 1

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);
?>
于 2009-04-04T20:15:51.237 回答