Sko*_*der 2 c# arrays math pixel
嘿.我的数学不是很好,所以我希望有人可以帮助我.我有一维像素数组(代表一个二维图像).为了访问特定的像素,我使用这个公式:
image.Pixels[row * imageWidth + col] = pixelColor;
Run Code Online (Sandbox Code Playgroud)
这是有效的,但我还想在所选像素周围包含像素.在没有直接使用指针的情况下,最快的方法是在半径为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;
}
}
Run Code Online (Sandbox Code Playgroud)
编辑上面实际上画了一颗钻石,我已经给出了我的第一个黑客想法,在下面做一个适当的圆圈
for (i=-r ; i<r ; i++) {
for (j=-r; j<r; j++) {
if((i*i + j*j)<(r*r)){
image.Pixels[(row+i)*imageWidth + (col+j)]=pixelColour;
}
}
}
Run Code Online (Sandbox Code Playgroud)