0

定義された色の中でピクセルの座標がランダムに選択される画像のピクセルの色を設定することは可能でしょうか。

たとえば、赤(4000px)、黒(3000px)、紫(3000px)の3色を含む画像(100x100)。次に、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

これは 1 ピクセルを変更するため、100 回行う必要があります。

変更する色のピクセルが数ピクセルしかない場合は、最初に 1 つの色のすべてのピクセルを見つけ、それらの座標をリストまたは配列に格納してから、そのデータ構造の 1 つの要素をランダムに選択する方がよい場合があります。

于 2012-11-30T13:56:57.223 に答える