में फिट बैठता है, मुझे एक WPF कैनवास पर शब्दों को इस तरह से प्रदर्शित करने की आवश्यकता है कि वे पूर्व-निर्धारित बॉक्स में पूरी तरह से फिट हों।डब्ल्यूपीएफ में पाठ प्रस्तुत करना ताकि यह पूरी तरह से दिए गए आयताकार
एक बॉक्स में आम तौर पर एक अक्षर से कुछ शब्दों में पाठ की एक पंक्ति होती है।
बॉक्स के अंदर का पाठ जितना संभव हो उतना बड़ा होना चाहिए, यानी: बॉक्स की सभी सीमाओं को छूना (शायद यह छोड़कर कि यह असामान्य बॉक्स witdh/ऊंचाई अनुपात के कारण बहुत अधिक टेक्स्ट विकृति का कारण बनता है)।
मुझे टेक्स्ट सामग्री के आधार पर उपयुक्त फ़ॉन्ट ऊंचाई, स्केलिंग और ऑफ़सेट की गणना करने का एक अच्छा तरीका नहीं मिला।
पहला समाधान जहां मूल पाठ चौड़ाई/ऊंचाई अनुपात बदला नहीं जा सकता है, वह पहले से ही बहुत अच्छा होगा!
मैं टेक्स्टब्लॉक तत्वों का उपयोग करना चाहता हूं, लेकिन जो कुछ भी काम करता है वह ठीक होना चाहिए।
धन्यवाद! मैंने इसका परीक्षण किया और यह बहुत अच्छी तरह से काम करता है। इस बीच मुझे एक वैकल्पिक समाधान मिला: एक अस्थायी स्वरूपित टेक्स्ट ऑब्जेक्ट (गुणों "चौड़ाई", "विस्तार" और "ओवरहैंगएफ़टर") के माध्यम से पाठ तत्वों को मापना, फिर तदनुसार प्रत्येक तत्व को स्केल + अनुवाद ट्रान्सफॉर्म लागू करें। हालांकि, इसके दो नुकसान हैं: वास्तविक टेक्स्ट ब्लॉक ऑब्जेक्ट्स बहुत बड़े हो जाते हैं (मैसेजिंग टूलटिप्स), और प्रतिपादन उतना तेज नहीं है जितना मैं चाहूंगा। – Jem
@ जेम: कोई समस्या नहीं :) हमारे समाधानों के बीच प्रतिपादन समय कैसा रहा? क्या दोनों मामलों में "धीमा" था? मैंने एक 'ग्रिड' में एक साथ 10 या तो 'स्ट्रेचटेक्स्ट' के साथ प्रयास किया और फिर 'विंडो' को तुरंत बदल दिया। मुझे बहुत अच्छी तरह से काम करना प्रतीत होता था लेकिन 'DrawGeometry' बहुत धीमी होने के लिए जाना जाता है –
प्रदर्शित करने के लिए शब्दों की संख्या लगभग एक या दो हजार है, लेकिन पृष्ठ का आकार बदलना आपके समाधान के साथ पर्याप्त है। मैं कहूंगा कि यह मेरी तुलना में लगभग 3 गुना तेज है, और यह स्थिर है (कोई "लेट" नहीं)।हालांकि, पाठ की गुणवत्ता छोटे पाठ के लिए उतनी तेज नहीं है (संभवतः क्योंकि यह अब "टेक्स्ट" नहीं है, लेकिन "ज्यामिति") है, लेकिन यह काफी अच्छा है। आदर्श रूप में मैं भी बेहतर प्रदर्शन और सर्वोत्तम संभव पाठ गुणवत्ता चाहता हूं, लेकिन आपका समाधान अब के लिए सबसे अच्छा समझौता है। – Jem