Tôi chỉ đang cố xoay một tệp JPG bằng 90 độ. Tuy nhiên hình ảnh đầu ra mã của tôi (BufferedImage
) hoàn toàn màu đen.Xoay hình ảnh Java với AffineTransform xuất ra hình ảnh đen, nhưng hoạt động tốt khi thay đổi kích thước
Đây là cách để tái tạo: (Tải 3.jpg here)
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"));
}
Có gì sai ở đây?
(nếu tôi cung cấp cho sản lượng đen này BufferedImage
thư viện hình ảnh resizer, nó được thay đổi kích cỡ tốt, hình ảnh ban đầu vẫn còn đó.)