我需要在假想的水平线上翻转图像,但无法弄清楚如何做到这一点。
这是我目前的代码,eclipse告诉我没有使用hold的值,但我不知道它是怎么回事。感谢所有帮助。
public static void flipH(Picture p){
int height= p.getHeight();
int width= p.getWidth();
Pixel empty= new Pixel(v, 0, 0);
Pixel hold= new Pixel(v, 0, 0);
for(int i=0; i< height; i++) {
for(int j=0, r=width-1; j<width/2 && r>width/2; j++, r--) {
empty= p.getPixel(i, j);
hold = p.getPixel(i, r);
hold= empty;
}
}
}
答案 0 :(得分:1)
空和保持只是引用,也就是指针,指向真实对象的箭头。 分配空并按住以指向某个像素将永远不会更改像素。 要交换两个像素,你需要像...这样的东西。
int a = p.getColorOfPixel(x, y1);
int b = p.getColorOfPixel(x, y2);
p.setColorOfPixel(x, y1, b);
p.setColorOfPixel(x, y2, a);