2011-04-01 18 views
7

मैं एक bufferedImage से bytearray प्राप्त करने की कोशिश कर रहा हूं लेकिन मेरे ByteArrayOutputstream की लंबाई हमेशा शून्य होती है और मुझे कोई बाइट नहीं मिलता है। यह मैंBufferedImage बाइट्स जावा

किसी भी विचार क्या कर रहा हूँ क्यों इस

BufferedImage scaledPicture = ..... 

ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
ImageIO.write(scaledPicture, extension, baos); 
baos.flush(); 
byte[] toByteArray = baos.toByteArray(); 
baos.close(); 
return toByteArray; 

कोई भी विचार नहीं कर रहा है है?

उत्तर

3

ImageIO.write का वापसी मूल्य क्या है? क्या आपके एक्सटेंशन के साथ ImageIO.getImageWritersByFormatName कम से कम 1 ImageWriter लौटाता है? यदि नहीं, तो प्रारूप समर्थित नहीं हो सकता है।

+0

इसके लिए आपको बहुत बहुत धन्यवाद। यह झूठ लौट रहा है, इसलिए कोई लेखक नहीं मिला। चूंकि ब्राउज़र ब्राउज़र से अपलोड किया गया है, इसलिए मैं प्रारूप का निर्धारण कैसे करूं या मैं ImageIO.write कॉल में एक प्रारूप कैसे निर्दिष्ट करूं? –

+0

@ फ़ारोक अलहासन मैं 'ImagIO.getImageWritersBySuffix' का उपयोग करने का प्रयास करूंगा और देख सकता हूं कि क्या आपको इसके लिए कोई भी' छविवाइटर 'वापस प्राप्त हुआ है या नहीं। यदि ऐसा है तो आप अपने 'रेंडर इमेज' लिखने के लिए आसानी से उन लोगों को 'लिखने' विधि के साथ उपयोग कर सकते हैं। इस समय आप जिस विधि का उपयोग कर रहे हैं वह वैसे भी एक साधारण आवरण है। – Melv

+0

बहुत बहुत धन्यवाद। एक दिन के बाद इसे फिक्स्ड। पूरी तरह से था क्योंकि एक पुरानी इकाई अनचाहे कोड गलत तरीके से फ़ाइल एक्सटेंशन की गणना कर रहा था, इसलिए jpeg के बजाय .jpeg लौटा रहा था इसलिए एक बर्बाद दिन! सबक मिला। वैसे भी, मैं कल से ज्यादा आज जानता हूं इसलिए आभारी हूं। टीएक्स –

1

क्या 'ImageIO.write (...)' कॉल सही है? यदि नहीं, तो JVM उपयुक्त प्रारूप के लेखक को ढूंढने में असफल हो सकता है।

संबंधित मुद्दे