我正在使用imagecreatefrompng加载服务器上已经存在的图像。我想将某些像素颜色更改为另一种颜色。
我一直在通过遍历所有像素并找出它们是否为某种颜色,然后将它们更改为我想要的颜色来进行此操作。
$width = imagesx($img);
$height = imagesy($img);
for($x=0; $x < $width; $x++)
for($y=0; $y < $height; $y++)
{
$colrgb = imagecolorat($img, $x, $y);
if($col1 !== $colrgb)
continue;
imagesetpixel ($img, $x , $y , $col2);
}
无论如何,我是否可以将每个由红色变为蓝色的像素,而不必遍历我正在做的事情?对于许多图像,我目前的处理方式非常慢。