【发布时间】:2014-01-27 21:03:49
【问题描述】:
你能评论这段代码吗?我了解一些部分,但不是全部。
这段代码是将图像逆时针旋转90度:
public static void rotate(String originalImage, String convertedImage) throws Exception {
BufferedImage bufferImg = ImageIO.read(new File(originalImage));
BufferedImage bufferImgOut = new BufferedImage(bufferImg.getWidth(),bufferImg.getHeight(), bufferImg.getType());
for( int x = 0; x < bufferImg.getWidth(); x++ ) {
for( int y = 0; y < bufferImg.getHeight(); y++ ) {
int px = bufferImg.getRGB(x, y);
int destY = bufferImg.getWidth() - x - 1; //what does this line do?
bufferImgOut.setRGB(y,destY, px);
}
}
File outputfile = new File(convertedImage);
ImageIO.write(bufferImgOut, "png", outputfile);
}
【问题讨论】:
-
基本上由于Swing坐标系以
y = 0开头,所以必须翻转x坐标才能旋转。
标签: java image image-processing image-rotation