2012-10-30 20 views
5

मैं एक डब्ल्यूपीएफ ऐप विकसित कर रहा हूं लेकिन मैंने देखा है कि कुछ फ़ॉन्ट आकारों पर टेक्स्ट कंट्रोल पैनल -> फ़ॉन्ट्स में दिखाई देने वाले नमूनों के रूप में अच्छी तरह से प्रस्तुत नहीं करता है। मैं बड़े सेगो यूआई फ़ॉन्ट्स (FontSize="36") का उपयोग कर रहा हूं, और प्रभाव सीधे लाइनों पर अधिक ध्यान देने योग्य है, उदा। एक पत्र "यू" दूसरे की तुलना में एक तरफ थोड़ा मोटा हो सकता है। )।डब्ल्यूपीएफ फ़ॉन्ट गुणवत्ता

फ़ॉन्ट गुणवत्ता कुछ फ़ॉन्ट आकारों में सुधार करती है, उदा। FontSize="48" (जो मुझे विश्वास है कि 36pt के बराबर है), लेकिन सीमित संख्या में फ़ॉन्ट आकार का उपयोग करना हमेशा व्यावहारिक नहीं होता है।

मैं TextBlock के लिए निम्न गुण लगाने से फॉन्ट की गुणवत्ता में सुधार कर सकते हैं: -

TextOptions.TextFormattingMode="Display" TextOptions.TextRenderingMode="ClearType" 

गुणवत्ता में सुधार मुझे पता है क्यों WPF सभी पाठ के लिए ऐसा नहीं करती है उत्सुक हूँ, या को देखते हुए क्या यह प्रदर्शन के लिए नीचे है? मैं सभी नियंत्रणों पर इसे लागू करने के लिए वैश्विक शैली बनाने की सोच रहा था, या इससे कोई समस्या होगी?

(मैंने एक स्क्रीनशॉट अपलोड करने का प्रयास किया लेकिन एसओ को कम गुणवत्ता पर छवियों को स्टोर करना होगा, और आप वास्तव में फ़ॉन्ट समस्या नहीं बना सकते हैं)।

+0

हम कम गुणवत्ता पर छवियों को स्टोर नहीं करते हैं (imgur नहीं)। यदि आप एक पीएनजी बचाते हैं और इसे अपलोड करते हैं, तो यह एक जेपीईजी नहीं बन जाएगा। आप यहां पर स्केल किए गए एक से पूर्ण आकार की छवि से भी लिंक कर सकते हैं। – BoltClock

+0

क्या आपने इसे अन्य फ़ॉन्ट्स से आजमाया था? – MisterMetaphor

+4

मुझे इस मुद्दे पर विश्वास है, जिसमें डिफ़ॉल्ट WPF फ़ॉन्ट प्रतिपादन "धुंधला" क्यों है, http://stackoverflow.com/questions/190344/wpf-blurry-fonts-problem-solutions –

उत्तर

7

यहां blog post है जो डब्ल्यूपीएफ टेक्स्ट टीम ने इस सुविधा के बारे में लिखा था। TextFormattingMode के लिए

नोट:

आदर्श आदर्श पाठ मैट्रिक्स मैट्रिक्स जो WPF की शुरूआत के बाद प्रारूप पाठ करने के लिए इस्तेमाल किया गया है। इन मीट्रिक के परिणामस्वरूप ग्लाइफ के आकार फ़ॉन्ट फ़ाइल से उनकी रूपरेखाओं के साथ उच्च निष्ठा बनाए रखते हैं। ग्लिफ के अंतिम प्लेसमेंट को ध्यान में नहीं रखा जाता है जब ग्लाइफ बिटमैप्स बनाते हैं या प्रत्येक अन्य के सापेक्ष ग्लिफ को पोजीशन करते हैं।

प्रदर्शन इस नए स्वरूपण मोड में, WPF GDI संगत पाठ मैट्रिक्स का उपयोग करता है। यह सुनिश्चित करता है कि प्रत्येक ग्लाइफ की चौड़ाई एकाधिक पूर्ण पिक्सेल है और पूरे पिक्सेल पर स्थित है। का उपयोग जीडीआई संगत पाठ मीट्रिक का भी अर्थ है कि ग्लिफ आकार और रेखा ब्रेकिंग जीडीआई आधारित ढांचे के समान है। उस ने कहा, ग्लिफ आकार WPF द्वारा उपयोग किए जाने वाले लाइन ब्रेकिंग एल्गोरिदम में एकमात्र इनपुट नहीं है। भले ही हम जीडीआई के समान मेट्रिक्स का उपयोग करते हैं, फिर भी हमारी लाइन ब्रेकिंग बिल्कुल वही नहीं होगी।

के बाद से इन गुणों .NET 4.0 में नई हैं, वे जो आदर्श विधा है डिफ़ॉल्ट के रूप में मूल WPF एल्गोरिथ्म, रखा।

TextRenderingMode

ऑटो इस विधा ClearType का उपयोग करेगा, जब तक सिस्टम सेटिंग विशेष रूप से मशीन पर ClearType निष्क्रिय करने के लिए सेट किया गया है के लिए

अलीज्ड पाठ को आकर्षित करने के लिए कोई एंटीअलाइजिंग का उपयोग नहीं किया जाएगा।

ग्रेस्केल ग्रेस्केल एंटीअलाइजिंग का उपयोग टेक्स्ट को आकर्षित करने के लिए किया जाएगा।

ClearType ClearType antialising पाठ आकर्षित करने के लिए इस्तेमाल किया जाएगा।

चूंकि Auto डिफ़ॉल्ट है, तो आपको आमतौर पर ClearType प्रतिपादन प्राप्त होगा।

अब, क्योंकि ये संलग्न गुण हैं, और का उत्तराधिकारी है, तो आप उन्हें रूट Window रूट पर सेट कर सकते हैं। Style एस का गुच्छा बनाने की आवश्यकता नहीं है।

+1

में पर्याप्त रूप से उत्तर दिया गया है इन गुणों को संशोधित करने में कोई भी है प्रदर्शन पर असर, शायद अधिक जटिल एल्गोरिदम के कारण? साथ ही, मैं जानना चाहता हूं कि इन गुणों को संशोधित करने के लिए कोई अन्य कमी या डाउनसाइड्स हैं या नहीं। –

+2

किसी भी WPF टीम ने कभी भी विभिन्न प्रतिपादन मोड का उपयोग करने के लिए प्रदर्शन हिट का उल्लेख नहीं किया है, इसलिए मैं कहूंगा कि प्रदर्शन दंड है या नहीं, यह नगण्य है। जहां तक ​​डाउनसाइड्स है, मुझे लगता है कि मुख्य व्यक्ति क्लीयरटाइप के साथ होगा। यह उदाहरण के लिए सीआरटी मॉनीटर पर अच्छा काम नहीं करता है। –

0

साफ़टाइप चालू होने पर बड़ी मात्रा में डेटा (10,000 वस्तुओं के ऊपर) से निपटने के दौरान मैंने छोटे प्रदर्शन मुद्दों पर ध्यान दिया है। टेक्स्टफॉर्मेटिंग मोड को प्रदर्शित करने के लिए कोई दृश्यमान प्रभाव नहीं पड़ता है।

यह कहा गया है कि, मेरे सभी डब्ल्यूपीएफ ऐप्स में मैं पाठ प्रतिपादन को बेहतर बनाने के लिए वैश्विक शैलियों का उपयोग करता हूं, जब तक कि प्रदर्शन प्रभाव यूआई को चिपचिपा महसूस करने के लिए पर्याप्त न हो।

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