嘿伙计们,我正在尝试用 php 重新着色以下图像:
我想让我的用户可以通过在我的 php 应用程序中单击几下来更改横幅的颜色。所以我使用了我得到的这个小实验脚本
这是我更改图像的一种 rgb 颜色的脚本:
$imgname = "test.png";
$im = imagecreatefrompng($imgname);
imagealphablending($im, false);
for ($x = imagesx($im); $x--;) {
for ($y = imagesy($im); $y--;) {
$rgb = imagecolorat($im, $x, $y);
$c = imagecolorsforindex($im, $rgb);
if ($c['red'] == 0 && $c['green'] == 94 && $c['blue'] == 173) {
$colorB = imagecolorallocatealpha($im, 255, 0, 255, $c['alpha']);
imagesetpixel($im, $x, $y, $colorB);
}
}
}
imageAlphaBlending($im, true);
imageSaveAlpha($im, true);
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
问题是横幅的蓝色是多种不同的 rgb 颜色,所以我怎样才能一次更改所有蓝色 rgb 颜色而不影响其他颜色。