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"));
}
}
私はそれをオンラインで見つけた画像を回転させるためのコードスニペットです。
ヘルプは素晴らしいでしょう!
EDIT:
これは、それがどのように見えると私は回転の後に取得する方法である: (1920×1200)
幅や高さが奇妙なことはありますか?そうであれば、2つの部門で丸め誤差が発生し、ピクセル単位で画像が縮小されます。それは国境の大きさですか? – Andrew
私は質問を編集し、結果を何のimgを追加しました。 – ViktorG
投稿した内容で回転していません... – Andrew