में पीएनजी कनवर्ट करना मुझे एक साधारण पीएनजी को जेपीईजी प्रारूप में परिवर्तित करने में समस्याएं आ रही हैं। मैं निम्नलिखित कोड का उपयोग कर रहा:जेपीईजी
...
File png = new File(filePath);
try {
SeekableStream s = new FileSeekableStream(png);
PNGDecodeParam pngParams = new PNGDecodeParam();
ImageDecoder dec = ImageCodec.createImageDecoder("png", s, pngParams);
RenderedImage pngImage = dec.decodeAsRenderedImage();
JPEGEncodeParam jparam = new JPEGEncodeParam();
jparam.setQuality(0.50f); // e.g. 0.25f
File jpeg = new File("jpeg.jpeg");
FileOutputStream out = new FileOutputStream(jpeg);
ImageEncoder encoder = ImageCodec.createImageEncoder("JPEG", out, jparam);
encoder.encode(pngImage);
s.close();
} catch (IOException e) {
ok = false;
e.printStackTrace();
}
return ok;
}
...
मैं एक जय अपवाद के साथ खत्म -> java.lang.RuntimeException: केवल 1, या 3-बैंड बाइट डेटा लिखा जा सकता है। com.sun.media.jai.codecimpl.JPEGImageEncoder.encode (JPEGImageEncoder.java:148) पर ...
विकल्पों में से बाहर निकलें। कोई उपाय?
सुरुचिपूर्ण समाधान। यह मेरे लिए पूरी तरह से काम किया। – Norberto