का आकार बदलते समय अच्छी तरह से काम करता है, मैं बस एक जेपीजी फ़ाइल 90 डिग्री से घूमने की कोशिश कर रहा हूं। हालांकि मेरा कोड छवि (BufferedImage
) आउटपुट करता है जो पूरी तरह से काला है। (डाउनलोड 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"));
}
यहाँ क्या गलत है:
यहाँ जिस तरह से पुन: पेश करने है?
(अगर मैं एक छवि रीसाइज़र पुस्तकालय के लिए इस काले उत्पादन BufferedImage
देते हैं, यह अच्छी तरह से आकार दिया जाता है, मूल छवि अभी भी वहाँ है।)