0

我想知道是否可以设置图像中像素的颜色,其中像素的坐标是在定义的颜色中随机选择的。

例如包含 3 种颜色的图像 (100x100),红色(4000 像素)、黑色(3000 像素)和紫色(3000 像素)。现在我想将 100 个随机红色像素变为黄色。

我玩过 imagesetpixel,但不知道是否可以在颜色范围内随机设置 $x 和 $y。

imagesetpixel ($image , $x , $y , $color )
4

1 回答 1

0

我假设我们不知道图像中不同颜色的像素是如何排列的。在您有许多红色像素的情况下,有一个简单的方法。

while(!exit):
   pixel = select random pixel
   if pixel.color = red:
       pixel.color = yellow
       exit = true
   end if
end while

这将改变一个像素,因此您需要这样做 100 次。

如果您只有几个颜色像素要更改,您最好先找到一种颜色的所有像素并将它们的坐标存储在列表或数组中,然后随机选择该数据结构的一个元素。

于 2012-11-30T13:56:57.223 回答