使用特定颜色范围内的imagesetpixel设置随机像素

时间:2012-11-30 13:35:20

标签: pixels

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

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

我玩过imagesetpixel,但无法弄清楚是否可以在一个颜色范围内随机设置$ x和$ y。

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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