2009-04-13 3 views
19

से चित्र बॉक्स में छवि को कैसे रखा जाए, क्या यह डिस्क से सहेजे बिना स्मृति (byte[] या stream या Bitmap) से एक तस्वीर लोड करना संभव है? , इसके बजाय Bmp.save() का उपयोग करने काबिटमैप

unsafe 
{ 
    fixed (byte* ptr = Misc.ConvertFromUInt32Array(image)) 
    { 
     Bitmap bmp = new Bitmap(200, 64, 800, PixelFormat.Format32bppRgb, new IntPtr(ptr)); 
     bmp.RotateFlip(RotateFlipType.Rotate180FlipX); 
     bmp.MakeTransparent(Color.Black); 
     bmp.Save("test.bmp"); 
    } 
} 

मैं अपने फार्म पर चित्र बॉक्स में Bitmap डाल कर सकते हैं:

इस कोड को मैं एक Bitmap में byte[] सरणी चालू करने के लिए उपयोग क्यों करें?

उत्तर

41

क्या आपने यह कोशिश की है?

pictureBox.Image = bmp; 
+0

मैं सिर्फ यह किया है और यह ठीक काम किया, धन्यवाद! –

0

आप सी ++ प्रोग्रामिंग भाषा के साथ काम कर रहे हैं, तो इसे इस तरह किया जा सकता है:

void backGroundImage() 
{ 
    Image^ back = gcnew Bitmap("C:\\Users\\User\\Documents\\image.bmp"); 
    pictureBox1->BackGroundImage = back; 
}; 

तो फिर तुम backGroundImage कॉल कर सकते हैं जब आप एक बिटमैप लोड करने के लिए की जरूरत है।

3

मेरे पास कुछ कोड स्वीकार्य उत्तर जैसा था जो स्मृति रिसाव का कारण बनता था। समस्या यह है कि जब आप चित्र बॉक्स छवि को बिटमैप पर सेट करते हैं, तो आप अभी भी प्रतिलिपि बनाने के बजाय बिटमैप का जिक्र कर रहे हैं। यदि आपको छवि को कई बार सेट करने की आवश्यकता है तो आपको यह सुनिश्चित करना होगा कि आप सभी पुराने बिटमैप्स का निपटारा कर रहे हैं।

यह किसी भी व्यक्ति के लिए है जो क्लोन एक छवि बॉक्स में बिटमैप को देख रहा है। इस प्रयास करें:

if (pictureBox.Image != null) pictureBox.Image.Dispose(); 
pictureBox.Image = myBitmap.Clone(
    new Rectangle(0, 0, myBitmap.Width, myBitmap.Height), 
    System.Drawing.Imaging.PixelFormat.DontCare); 
+1

धन्यवाद। क्लोनिंग के बिना बिटमैप का उपयोग करने की कोशिश कर रहा था, यह सिस्टम में अपवाद फेंक रहा था। ड्रॉइंग। डीएल। अपने। क्लोन सुझाव का उपयोग करने के लिए मेरे लिए मुद्दा तय किया! – saurabhj

-1
pictureBox.Image = Properties.Resources.image.bmp; 
+0

क्या आप इस बारे में कुछ और जानकारी प्रदान कर सकते हैं कि यह कैसे काम करना है? – jotik

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

  • कोई संबंधित समस्या नहीं^_^