2014-04-05 9 views
15

मैं विंडोज फोन 8.1 के लिए एक आवेदन लिख रहा हूं।विंडोज फोन 8.1 में एक आईबीफर को बाइट सरणी में कनवर्ट करें, कैसे?

मुझे एक छवि फ़ाइल के रूप में UIElement को सहेजने की आवश्यकता है (मैं जेपीजी या पीएनजी पसंद करूंगा)। मैं ऐसा करने के लिए RenderTargetBitmap क्लास का उपयोग कर रहा हूं। मेरे UIElement पर विधि RenderAsync को कॉल करने के बाद, मैं एक आईबीफ़रर बनाता हूं जिसमें मेरे RenderTargetBitmap के GetPixelsAsync() विधि का परिणाम होता है।

अब मुझे बिटमैप एन्कोडर जैसे कुछ का उपयोग करके मेरी छवि को सहेजने के लिए मेरे आईबीफ़र को बाइट सरणी में परिवर्तित करने के लिए विधि ToArray() को कॉल करने की आवश्यकता है, लेकिन ऐसा लगता है कि विंडोज फोन 8.1 पर आईबीफर के लिए कोई ToArray() विधि नहीं है , जबकि विंडोज 8.1 पर मौजूद है।

मैं इस मुद्दे को कैसे हल कर सकता हूं?

धन्यवाद!

+0

कर सकते हैं आप कुछ कोड दिखाते हैं? विशेष रूप से आप आईबीफ़र कैसे बनाते हैं - इंटरफ़ेस लागू करने वाली वास्तविक वस्तु क्या है? –

उत्तर

21

यह विंडोज फोन 8.1 पर उपलब्ध है, लेकिन यह WP 8.0 पर उपलब्ध नहीं है। (MSDN link देखें)

आप सुनिश्चित करें कि आप उचित नामस्थान तथापि शामिल तो यह संकलक द्वारा पाया जाता है बनाने की जरूरत है:

using System.Runtime.InteropServices.WindowsRuntime

+0

धन्यवाद, पूरी तरह से काम करता है! : डी – AshleyT

3

मैं सिर्फ नया सवाल पैदा करने के लिए नहीं करना चाहते हैं तो तय इसे विस्तारित करने के लिए। यह दोनों प्लेटफार्मों WP8 और Windows स्टोर एप्लिकेशन

हो सकता है कि आप कैसे [] बाइट के लिए IBuffer कन्वर्ट करने के लिए Windows स्टोर App में जहाँ हम इस नाम स्थान का उपयोग नहीं कर सकते हैं के लिए पूरा जवाब होगा: System.Runtime.InteropServices.WindowsRuntime

सादर, मार्सिन

प्रस्ताव समाधान: मैं इस पोस्ट से कोड का उपयोग करें: https://stackoverflow.com/a/21490534/3139083

धन्यवाद

+0

भविष्य के संदर्भ के लिए बस एक नोट, स्टैक ओवरफ्लो के दिशानिर्देश बताते हैं कि आपको एक पर विस्तार करने के बजाय एक नया प्रश्न शुरू करना चाहिए। यह आमतौर पर एक नया प्रश्न शुरू करने के लिए स्वीकार किया जाता है यदि यह आपके उपयोग के मामले का विशेष रूप से उत्तर नहीं देता है। –

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