我正在尝试学习如何水平滚动图像。假设用户输入一个整数数量,返回的图像将是一个向左移动该数量的新图像,最左边的像素将出现在图像的右侧。我一直在接近解决这个问题,但遇到了超出范围的错误。
有任何想法吗?我对图像处理和处理很陌生。
这是我到目前为止所写的。
public void scrollHorizontal(int numpixels){
horizontalscroll = new Picture(image6.getWidth(), image6.getHeight());
for (int i = 0; i<image6.getWidth(); i++){
for (int j=0; j<image6.getHeight(); j++){
pix2 = image6.getPixel(i, j);
horizontalscroll.setPixel(i-numpixels, j, pix2);
System.out.println(i);
}
}
for (int i = 0; i< image6.getWidth(); i++){
for (int j = 0; j<image6.getHeight(); j++){
pix2 = horizontalscroll.getPixel(i, j);
horizontalscroll.setPixel(image6.getWidth()-numpixels-i ,j, pix2);
//System.out.println(i);
}
}
horizontalscroll.store("scrollhorizontal.gif");
}
Picture 类只是根据 (x, y) 创建一个图片对象。getPixel() 是 Picture 类的一个方法。“pix2”是一个像素对象。