我嘗試旋轉一個BufferedImage並且它可以工作,但是旋轉的圖像在一些邊上有一個黑色的邊框,我不知道爲什麼... 我也覺得它變得更小旋轉後。旋轉BufferedImage會給它一個黑色的邊框
import java.awt.image.BufferedImage;
import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class example {
static void main(String[] args) throws IOException {
BufferedImage imgResc = ImageIO.read(new File("landscape.jpg"));
AffineTransform tx = new AffineTransform();
tx.rotate(Math.PI/2, imgResc.getWidth()/2, imgResc.getHeight()/2);//(radian,arbit_X,arbit_Y)
AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR);
BufferedImage rotatedImage = new BufferedImage(imgResc.getHeight(),imgResc.getWidth(),imgResc.getType());
op.filter(imgResc, rotatedImage);
ImageIO.write(rotatedImage, "JPEG", new File("rotated_90_right.jpg"));
}
}
以上是用於旋轉圖像的代碼片段,就像我在網上發現的那樣。
幫助會很棒!
編輯:
這是應該的樣子,什麼旋轉後我得到: (1920×1200)
您的寬度或高度是否可能是奇數?如果是這樣,你的分區將由兩個將引入舍入誤差,縮小圖像的像素。這是邊界的大小嗎? – Andrew
我編輯了這個問題,並添加了最新的img結果。 – ViktorG
它也不是旋轉在你發佈的內容... – Andrew