मेरे पास एक तृतीय पक्ष डीएल है जो बिटमैप उत्पन्न करता है और इसके संदर्भ को वापस भेजता है। अगर मैं एक सिस्टम उत्पन्न करता हूं। Windows.Media.Imaging.BitmapSource तुरंत इसके बाहर तो सब ठीक हो जाता है। लेकिन अगर मैं (कुछ ही सेकंड और कई समारोह कॉल के बाद) संदर्भ और बाद में बचाने मैं Bitmapsource उत्पन्न करने के लिए प्रयास करते हैं, मैंसिस्टम गुजर रहा है। कक्षा पुस्तकालयों में ड्रॉइंग। बिटमैप अविश्वसनीय है?
System.AccessViolationException उपयोगकर्ता कोड
संदेश = पढ़ने के लिए प्रयास किया गया द्वारा बिना क्रिया था या संरक्षित स्मृति लिखें। यह अक्सर संकेत है कि अन्य स्मृति दूषित है। स्रोत = "System.Drawing"
जब कर रही:
System.Windows.Media.Imaging.BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
bmp.GetHbitmap(),
IntPtr.Zero,
Int32Rect.Empty,
System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
क्या गलत यहाँ जा रहा पर कोई सुराग? कोई संकेतक उपयोगी होगा। धन्यवाद।
क्षमा करें, फ़ाइल की हैंडल के साथ इसका कोई संबंध नहीं है। सही स्पष्टीकरण के लिए एंड्रेस का जवाब देखें। हालांकि मुझे बगमैप की प्रतिलिपि बनाने के लिए आपके समाधान को पसंद आया (+1)। यदि मिशेल 153 के आंतरिक डेटा संरचनाओं को बिटमैप स्रोत के बजाय बिटमैप की आवश्यकता होती है तो उसे आपके जैसे कोड का उपयोग करना चाहिए। यदि नहीं, तो वह एक नया बिटमैप बनाने के बजाय तुरंत बिटमैपसोर्स बनाकर बेहतर सेवा प्रदान करेगा। –
हाय ब्रांडी, आपके सुझाए गए काम एक गीत की तरह :)। धन्यवाद! मैं वही काम करने की कोशिश कर रहा था लेकिन जिस तरह से मैं कर रहा था वह है: 'newBmp = oldBmp.Clone(); 'क्लोन के दस्तावेज ने कहा "इस छवि की एक सटीक प्रति बनाता है।", इसलिए मैंने सोचा कि मैंने गहरी प्रतिलिपि की है। वास्तव में भ्रमित करने वाला यह है कि बिटमैप के निर्माता का दस्तावेज कहता है "निर्दिष्ट छवि से बिटमैप वर्ग का एक नया उदाहरण आरंभ करता है", और ऐसा लगता है कि यह मौजूदा छवि को लपेट रहा है, जब वास्तव में यह गहरी कर रहा है प्रतिलिपि :)। यह केवल मुझे है या यह दूसरों के लिए भी भ्रमित है। धन्यवाद दोस्तों – mishal153
मदद करने के लिए खुशी हुई। :) – Brandi