2011-02-22 14 views
5

मैं एक छवि को बाइट सरणी में कनवर्ट करना चाहता हूं, फिर उस बाइट सरणी को एक स्ट्रिंग में कनवर्ट करना चाहता हूं। इसके अलावा, मैं उस स्ट्रिंग को वापस बाइट सरणी में परिवर्तित करना चाहता हूं, और अंत में एक छवि पर वापस आना चाहता हूं। मैं इसे पूरा करने के बारे में कैसे जा सकता हूं? किसी भी तरह की सहायता को आभार समझेंगे।स्ट्रिंग के लिए बाइट ऐरे की छवि (और इसके विपरीत)

+4

क्या आप अब तक की कोशिश की? इनमें से कौन सा कदम आपको सबसे अधिक परेशानी का कारण बन रहा है? –

+0

यदि आप हमें बताते हैं कि क्यों लोग विकल्पों का सुझाव देने पर विचार कर सकते हैं, क्योंकि शायद यह वास्तव में समस्या का समाधान नहीं है - हालांकि, आप अधिक विस्तृत हो सकते हैं। –

+0

ये दो लिंक आपकी मदद कर सकते हैं - http://stackoverflow.com/questions/3211156/how-to-convert-image-to-byte-array-in-java और http://stackoverflow.com/questions/1580038/ बाइट-एरे-टू-इमेज-फाइल – CoolBeans

उत्तर

6
  1. उपयोग ImageIO.write(..) और एक ByteArrayOutputStream गुजरती हैं। फिर stream.toByteArray() पर कॉल करें - आपके पास बाइट्स हैं।

  2. उपयोग बेस 64 या हेक्स स्ट्रिंग के रूप में बाइट सरणी का प्रतिनिधित्व करने के लिए - commons-codecBase64 और Hex जो दोनों दिशाओं में रूपांतरण की अनुमति नहीं है। तो अब आपके पास स्ट्रिंग

  3. देखें 2 - स्ट्रिंग से बाइट सरणी में कनवर्ट करें। अब आपके पास byte[] फिर से है।

  4. उपयोग ImageIO.read(..) और एक new ByteArrayInputStream(bytes)

पारित (बिंदु 2 और 3 के लिए आप कर सकते हैं उपयोग new String(bytes, "utf-8") और string.getBytes("utf-8"), लेकिन पसंद करते बेस 64)

+0

http://www.programcreek.com/2009/02/java-convert-image-to-byte-array-convert-byte-array-to-image/ इस तरह? लेकिन मैं jdk 6 का उपयोग कर रहा हूं लेकिन मुझे क्लास इमेजियो नहीं मिल रहा है !! – Adham

+0

@adham - 'javax.imageio.ImageIO'। अपने आयात को व्यवस्थित करने के लिए एक आईडीई का प्रयोग करें, यह तुरंत मिल जाएगा। – Bozho

+0

@adham - हाँ, बिल्कुल लिंक में दिखाए गए जैसा। बस 'com.sun..internal' का उपयोग न करें - अपाचे कॉमन्स-कोडेक प्राप्त करें। – Bozho

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