【发布时间】:2013-04-02 08:42:59
【问题描述】:
我已经设法旋转图像180 degrees 但希望旋转它90 degrees clockwise 有人可以编辑我的代码,以便它可以解释。谢谢。
private void rotateClockwise()
{
if(currentImage != null){
int width = currentImage.getWidth();
int height = currentImage.getHeight();
OFImage newImage = new OFImage(width, height);
for(int y = 0; y < height; y++) {
for(int x = 0; x < width; x++) {
newImage.setPixel( x, height-y-1, currentImage.getPixel(x, y));
}
}
currentImage = newImage;
imagePanel.setImage(currentImage);
frame.pack();
}
}
【问题讨论】:
-
试着想想当你旋转图像时,图像的每个四分之一会发生什么。我认为这应该是一种很好的方法。分别解决每个季度。
-
感谢 Vignesh Vino 的示例。非常感谢我设法让它工作。
-
你需要交换 x,y。我会将此作为答案,但不能。 OFImage newImage = new OFImage(height, width); newImage.setPixel(height-1-y, x, currentImage.getPixel(x, y));
标签: java image image-rotation