http://tinypic.com/r/fwubzc/5正確翻轉/鏡像像素的圖像?
這顯示了翻轉應該是什麼以及鏡子應該是什麼。
代碼爲兩種類型的鏡子:
void mirrorLeftRight()
{
for (int x = 0; x < width/2; x++) {
for (int y = 0; y < height; y++) {
int temp = pixelData[x][y];
pixelData[x][y]=pixelData[width-x][y]
pixelData[width-x][y]=temp;
}
}
}
void mirrorUpDown()
{
for (int x = 0; x < width; x++) {
for (int y = 0; y < height/2; y++) {
int temp = pixelData[x][y];
pixelData[x][y]=pixelData[x][height-y]
pixelData[x][height-y]=temp;
}
}
}
這個問題似乎正確的鏡子?
而對於翻轉,只需使用width
和height
而不用2除?
如果發生什麼'height'甚至不是? – 2010-04-15 17:07:50
剛剛意識到我在使用'int temp'的時候我應該使用Color temp,因爲pixelData是Color類的 – codefail 2010-04-15 17:33:49
jeff - 當它的高度是偶數時,整數除法返回高度的一半,一切都很好。你不必翻轉中間的列/行,因爲它已經在正確的位置。 – miked 2010-04-15 20:55:14