2011-03-24 24 views
5

मेरे पास एक लिखने योग्य बिटमैप है और उपयोगकर्ता इसे आकर्षित करने में सक्षम होना चाहेंगे जैसे कि यह एक साधारण बिटमैप था।मैं लिखने योग्य बिटमैप पर स्ट्रिंग कैसे लिख सकता हूं?

मैं यह कैसे कर सकता हूं?

+0

क्या आप मौजूदा WritableBitmap के शीर्ष पर टेक्स्ट की एक स्ट्रिंग को प्रस्तुत करने के बारे में बात कर रहे हैं? –

+0

हां - मुझे उस पर पाठ की एक स्ट्रिंग प्रस्तुत करने की आवश्यकता है। – Yanshof

उत्तर

7

आप कोड में टेक्स्टब्लॉक नियंत्रण सेट कर सकते हैं, स्ट्रिंग के साथ टेक्स्ट प्रॉपर्टी सेट कर सकते हैं और उस टेक्स्टब्लॉक के साथ WritableBitmap की रेंडर() विधि को कॉल कर सकते हैं। टेक्स्टब्लॉक को दृश्य पेड़ पर कभी भी नहीं होना चाहिए, लेकिन पाठ को दिखाने के लिए आपको बिटमैप पर अमान्य() को कॉल करना होगा।

private void RenderString(WriteableBitmap bitmap, string stringToRender) 
{ 
    TextBlock textBlock = new TextBlock(); 
    textBlock.Text = stringToRender; 

    // set font, size, etc. on textBlock 

    bitmap.Render(textBlock, null); 
    bitmap.Invalidate(); 
} 
+0

मैं सिल्वरलाइट का उपयोग नहीं कर रहा हूं और मुझे ये त्रुटियां मिल रही हैं: त्रुटि 1 'System.Windows.Media.Imaging.WriteableBitmap' में 'रेंडर' की परिभाषा नहीं है और कोई विस्तार विधि 'रेंडर' प्रकार के पहले तर्क को स्वीकार नहीं करती है 'System.Windows.Media.Imaging.WriteableBitmap' पाया जा सकता है और त्रुटि 2 'System.Windows.Media.Imaging.WriteableBitmap' में 'अमान्य' की परिभाषा नहीं है और कोई एक्सटेंशन विधि 'अमान्य' प्रकार के पहले तर्क को स्वीकार नहीं करती है 'System.Windows.Media.Imaging.WriteableBitmap' - क्या ऐसा इसलिए है क्योंकि मैं सिल्वरलाइट का उपयोग नहीं कर रहा हूं? – zetar

+0

@zetar आपको WriteableBitmapEx लाइब्रेरी की आवश्यकता है। http://writeablebitmapex.codeplex.com –

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