FOR LOOP使图像移动对角线

时间:2014-09-27 12:34:21

标签: java for-loop

我现在已经测试了几个小时,似乎无法工作,我需要一些线索!我想要做的是将图片从一个边缘转到另一个边缘。我需要做什么?

    PaintWindow window = new PaintWindow();
        ImageIcon man = new ImageIcon("C:/Users/Barry/Desktop/DA339AP1HT14/gubbe.jpg");
        int leftRight = 1, rightLeft = 1;



        while (true){
            if (leftRight  > 0) {
            for (int x = 0; x <= 500; x += 10) {
                window.showImage(man, x, 0);
                PaintWindow.pause(50);


                }
            if (rightLeft > 0) {
                for (int x = 500; x >= 0; x -= 10) {
                    window.showImage(man, x, 300);
                    PaintWindow.pause(50);
                        {
                        }
                }
            }
                        }
}
    }

        public static void main(String[] args) {
            uppgift1f e1f = new uppgift1f();
            e1f.leftRight();
    }
    }

编辑^^新

刚刚做到这样它从左上方开始,当它击中右上方然后它向下变为右下到左下但现在我想做的是使它对角线,我不知道如何。请帮忙提出建议!

1 个答案:

答案 0 :(得分:0)

我没有完整的代码,但我会假设你有

window.showImage(picture,int Xcoord,int Ycoord);

所以你要做的就是同时设置两个坐标,如下所示:

window.showImage(man, X, X);
你的代码中的

while (true){
        if (leftRight  > 0) {
        for (int x = 0; x <= 500; x += 10) {
            window.showImage(man, x, x);
            PaintWindow.pause(50);
            }

for (int x = 0; x <= 500; x += 10) {
    for (int y = 0; y <= 500; y += 10) {
            window.showImage(man, x, y);
            PaintWindow.pause(50);
    }
}

编辑: 如果你想要使用你的比率:试试你的显示器的比例是什么?说你有xsize和ysize: int xsize = 500; int ysize = 800;

for (int x = 0; x <= xsize; x += 10 ) {
            window.showImage(man, x, x * ( ysize  /xsize));
            PaintWindow.pause(50);

}