JPG 파일을 90도 회전하려고합니다. 그러나 내 코드 출력 이미지 (BufferedImage
)는 완전히 검은 색입니다.AffineTransform을 사용한 Java 이미지 회전은 검정색 이미지를 출력하지만 크기가 조정되면 제대로 작동합니다.
private static BufferedImage transform(BufferedImage originalImage) {
BufferedImage newImage = null;
AffineTransform tx = new AffineTransform();
tx.rotate(Math.PI/2, originalImage.getWidth()/2, originalImage.getHeight()/2);
AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BICUBIC);
newImage = op.filter(originalImage, newImage);
return newImage;
}
public static void main(String[] args) throws Exception {
BufferedImage bi = transform(ImageIO.read(new File(
"3.jpg")));
ImageIO.write(bi, "jpg", new File("out.jpg"));
}
여기 무슨 일이야 (다운로드 here 3.JPG) :
여기에 재현 할 수있는 방법이있다? 이 생성시키기보다는 필터() 메소드에 새로운 BufferedImage를 전달
(나는 이미지 크기 변경 라이브러리에이 검은 색 출력 BufferedImage
을 줄 경우, 그것은 원래의 이미지가 여전히 잘 크기가 조정됩니다.)