我想知道是否有水平翻转图像而不使用2d数组。类似的东西:
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;
}
}
答案 0 :(得分:0)
您可以使用单个指针进入图像。
您需要知道一条光栅线(扫描线)的末端与下一条光栅线之间的距离(增加指针的量)。因此,在增加超过光栅线的末尾后,添加到指针的距离,这样就会到达下一个光栅线的最左侧列。
对于具有智能GPU的现代系统,通过将图像复制到2d阵列,转换它然后将其放回,可以获得更高的效率。更智能的GPU可能具有镜像功能以及bit-blitting。