Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP GD图像库着色和交换颜色?_Php_Image_Gd_Imagefilter - Fatal编程技术网

使用PHP GD图像库着色和交换颜色?

使用PHP GD图像库着色和交换颜色?,php,image,gd,imagefilter,Php,Image,Gd,Imagefilter,您好,我正在尝试使用带有PHP的GD图像库对图像进行着色和颜色交换 我使用的是位于此处的原始图像: 我想让它变成一张橙色的脸,黑色的衣服和头发,就像你在这里看到的那样: 到目前为止,我使用了以下代码: <?php header('Content-type: image/jpeg'); $im = imagecreatefromjpeg('test.jpg'); imagefilter($im, IMG_FILTER_GRAYSCALE); imagefilter($im, IMG_

您好,我正在尝试使用带有PHP的GD图像库对图像进行着色和颜色交换

我使用的是位于此处的原始图像:

我想让它变成一张橙色的脸,黑色的衣服和头发,就像你在这里看到的那样:

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

<?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);
?>

为了接近它,但我仍然缺少将所有白色阴影转换为黑色阴影的能力。

我已经尝试过按照这个问题中的说明将白色替换为黑色:

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

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

STOOB

使用蓝色(#0276DB)代替橙色,然后反转图像(使用
图像过滤器_否定
)以获得橙色和黑色

因此,您的代码将是:

<?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);
?>