2010-03-29 19 views
10

मुझे लगता है कि एक तस्वीर लोड करने के लिए स्मृति में बिटमैप से बॉक्स छवि को कैसे लोड किया जा सकता है। क्या यह संभव है या मुझे बिटमैप के लिए temp फ़ाइल बनाना है?मेमोरी से पिक्चरबॉक्स छवि लोड करें?

+1

संभावित डुप्लिकेट: http://stackoverflow.com/questions/743549 – dtb

+0

कैसे करें आपके पास स्मृति में बिटमैप है? – SLaks

+0

यह विपरीत है, फ़ाइल से छवि को लोड करना, यह असामान्य है। बिटमैप वर्ग का प्रयोग करें। –

उत्तर

20

क्या प्रारूप स्मृति में छवि है?

आप एक वास्तविक बिटमैप वस्तु है, तो बस इसे PictureBox करने के लिए, के रूप में DTB ने सुझाव दिया आवंटित:

pictureBox.Image = bitmap; 

आप एक धारा में आयोजित बाइट्स की एक श्रृंखला के रूप में छवि है, तो आप की आवश्यकता होगी धारा से छवि को लोड करने: आप के बजाय बिटमैप करने के लिए एक विंडोज़ GDI हैंडल है, तो

var image = Image.FromStream(stream); 
pictureBox.Image = image; 

, का उपयोग

var image = Image.FromHbitmap(handle); 
pictureBox.Image = image; 

अनिवार्य रूप से, सुझावों से अधिक के साथ अपने प्रश्न का उत्तर देना मुश्किल है जब आपने हमें नहीं बताया है कि आपके पास बिटकमैप का प्रारूप कौन सा प्रारूप है।

+0

मुझे 'सिस्टम प्राप्त हुआ है। ऑर्ग्यूमेंट अपवाद: पैरामीटर वैध नहीं है।' अपवाद जब मैंने स्ट्रीम से छवि लोड करने का प्रयास किया। –

+0

@ बालागुरुनाथन मारिमुथू मैं आपके विशेष संदर्भ के साथ सहायता प्राप्त करने के लिए अपना स्वयं का प्रश्न पोस्ट करने का सुझाव देता हूं; इतनी छोटी जानकारी के साथ सहायता करना मुश्किल है। – Bevan

2
pictureBox.Image = bitmap; 
+0

पैरामीटर यहाँ याद आ रही 'मंद चित्र बाइट के रूप में() = GetBytes (ListView2.Items (इंडेक्स) .SubItems (8) .text) मंद कनवर्टर नई ImageConverter() के रूप में PictureBox1.Image = DirectCast (converter.ConvertFrom (चित्र) , छवि) ' –

4

आप एक MemoryStream से एक बिटमैप बना सकते हैं:

pictureBox.Image = new Bitmap(new MemoryStream(byteArray)); 
+0

किस बिंदु पर मेमोरीस्ट्रीम का स्पष्ट रूप से निपटान करना सुरक्षित है? होगा: (var ms = new memorySteam (byteArray) का उपयोग कर) {pictureBox.Image = नया बिटमैप (एमएस)}; सुरक्षित रहना ? –

+0

@MoeSisko: आपको वास्तव में मेमोरीस्ट्रीम का निपटान करने की आवश्यकता नहीं है; उनके पास अप्रबंधित पुनर्वितरण नहीं है। (बस एक 'बाइट [] ') लेकिन, हाँ; उसे ठीक होना चाहिए। – SLaks

+0

पैरामीटर यहाँ याद आ रही 'मंद चित्र बाइट के रूप में() = GetBytes (ListView2.Items (इंडेक्स) .SubItems (8) .text) मंद कनवर्टर नई ImageConverter() के रूप में PictureBox1.Image = DirectCast (converter.ConvertFrom (चित्र) , छवि) ' –

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