2010-03-09 18 views
7

क्या यह रूपांतरण और वापस करने के लिए सी # में कोई तरीका है?सिस्टम कनवर्ट करें। ड्रॉइंग। सिस्टम को इमेज। Windows.Controls.Image?

मेरे पास एक WPF ऐप है जिसमें छवि नियंत्रण है। मैं उस नियंत्रण में छवि को SQL डेटाबेस में सहेजने की कोशिश कर रहा हूं।

मेरे एंटिटी मॉडल में, मेरे डेटाबेस में चित्र कॉलम का डेटाटाइप byte[] है। तो मुझे एक सिस्टम को बदलने के लिए एक विधि मिली। ड्रॉइंग। इमेज byte[] और पीछे। लेकिन मुझे System.Windows.Controls.Image से byte[] में कनवर्ट करने का कोई तरीका नहीं मिला है।

इसलिए मुझे अब उपर्युक्त रूपांतरण करने की आवश्यकता है।

उत्तर

3

ठीक है, एक छवि है और एक नियंत्रण है जो एक छवि दिखाता है, इसलिए मुझे नहीं लगता कि दोनों के बीच एक रूपांतरण है। लेकिन, आप का स्रोत सेट कर सकते हैं ... नियंत्रण। इमेज आपका होना ... ड्राइंग। इमेज। अद्यतन के आधार पर

संपादित

इस तुम क्या आवश्यकता है करता है - http://msdn.microsoft.com/en-us/library/ms233764%28VS.100%29.aspx

+0

ऐसा नहीं कर सकता ... कोई विचार? –

+0

क्या आप अपने परिदृश्य के बारे में कुछ और जानकारी दे सकते हैं? मुझे समझ में मुश्किल हो रही है कि आपको ऐसा करने की आवश्यकता क्यों है। –

+0

अधिक जानकारी के लिए ऊपर देखें –

10

आप एक बाइट सरणी है कि एक फ़ाइल है कि WPF डिकोड कर सकते हैं का प्रतिनिधित्व करता है, तो (BMP, jpg, gif, png, TIF , ico), आप कर सकते हैं निम्नलिखित:

:

BitmapSource LoadImage(Byte[] imageData) 
{ 
    using (MemoryStream ms = new MemoryStream(imageData)) 
    { 
     var decoder = BitmapDecoder.Create(ms, 
      BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.OnLoad); 
     return decoder.Frames[0]; 
    } 
} 

इसी तरह, यह वापस कन्वर्ट करने के लिए, आप निम्न कर सकते

+0

आपने अपना जीवन बचाया – joshua

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