2010-04-26 20 views
17

मेरी समस्या निम्नानुसार है: मैंने ब्लॉब प्रारूप का उपयोग करके कुछ चित्रों को एसक्लाइट डेटाबेस में संग्रहीत किया है, जो ठीक काम करता है। अब मैं अपनी तस्वीरों को डीबी से बाहर ले जाना चाहता हूं और फिर छवियों में वापस डालना चाहता हूं ... इस मामले को जटिल बनाने के लिए, उनका प्रारूप परिवर्तनीय है (पीएनजी, जेपीजी, शायद कुछ और, मुझे यकीन नहीं है) क्या ऐसा करने का कोई तरीका है एंड्रॉइड में?बाइट [] छवि के लिए एंड्रॉइड

आप

उत्तर

47

उपयोग BitmapFactory.decodeByteArray() विधि:

byte[] blob=c.getBlob("yourcolumnname"); 
Bitmap bmp=BitmapFactory.decodeByteArray(blob,0,blob.length); 
ImageView image=new ImageView(this); 
image.setImageBitmap(bmp); 

पर देखो this धागा भी।

+0

यह वही है जो मैंने किया था, लेकिन मैं ड्रॉइंग का उपयोग कर रहा था इसलिए मैंने एक कलाकार जोड़ा, लेकिन मुझे नहीं लगता कि मुझे इसकी आवश्यकता है। मदद के लिए बहुत शुक्रिया दोस्तों। विस्तृत स्पष्टीकरण के लिए धन्यवाद – Sephy

+2

हालांकि, मुझे बिटमैप फैक्ट्री से एक अच्छा "रिटर्न नल" मिल रहा है ... – Sephy

+0

डीकोड बाइटएरे विधि वापस शून्य अगर छवि को डीकोड नहीं किया जा सकता है; डीबी पर स्टोर करने के लिए अपने कोड की जांच करें। – systempuntoout

4

उपयोग BitmapFactory.decodeByteArray() धन्यवाद।

+0

संकेत के लिए thx, मैं नज़दीकी रूप से देखूंगा और यदि आपको नहीं मिल रहा है तो वापस आ जाएगा। – Sephy

2

मैं सीधे बाइट्स को सरणी में परिवर्तित करना पसंद करता हूं। एंड्रॉइड में उपयोग करने के लिए यह सबसे अच्छा प्रारूप है। बिटमैप्स ने अतीत में लीक उत्पन्न की।

Drawable d = Drawable.createFromStream(new ByteArrayInputStream(ARRAY_BYTES), null); 
संबंधित मुद्दे