ねえ。私の数学は素晴らしくないので、誰かがこれで私を助けてくれることを願っています。私はピクセルの1次元配列を持っています(2D画像を表しています)。特定のピクセルにアクセスするためには、私はこの式を使用しています:周囲のピクセルを配列で取得する
image.Pixels[row * imageWidth + col] = pixelColor;
これは働いているが、私はまた、選択された画素の周囲の画素を含めたいです。ポインタを直接使用せずに、半径rのピクセルのグループを取得し、その値をpixelColorに設定する最も速い方法はありますか?私はペイントタイプのアプリケーションを作成しようとしていると、半径のサイズによって指示されるブラシのサイズを変更したいと思います。 ありがとうございました。私は、特にC#のを知りませんが、この君を行う必要があります
for (i=-r ; i< r ; i++) {
for (j=-(r - i); j<(r - i); j++) {
image.Pixels[(row+i)*imageWidth + (col+j)]=pixelColour;
}
}
編集上記の効果に何かが実際にダイヤモンドを塗る
最も簡単な方法は、2D配列を使用することです。または、少なくとも、2D配列のようにアクセスできるようにプロパティを設定する。 –