मैं एक पारदर्शी बिटमैप पर एंटीअलाइज्ड टेक्स्ट खींचना चाहता हूं और एंटीअलाइजिंग अल्फा मिश्रित पिक्सल के रूप में खींचा गया हूं। इस तरह, मैं किसी भी रंग की सतह (या उस छवि के लिए एक छवि) पर बिटमैप खींच सकता हूं और एंटीअलाइजिंग अभी भी ठीक दिखता है।पारदर्शी बिटमैप पर एंटीअलाइज्ड टेक्स्ट
यहाँ एक सरल नमूना समस्या दिखा रहा है:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Bitmap bitmap = new Bitmap(this.Width, this.Height);
Graphics g = Graphics.FromImage(bitmap);
g.Clear(Color.Empty);
g.DrawString("hello world", new Font(this.Font.FontFamily, 24), Brushes.Blue, new Point(50, 50));
e.Graphics.DrawImage(bitmap, new Point(0, 0));
}
और यहाँ परिणाम है:
alt text http://img194.imageshack.us/img194/9065/captureotd.png
इस का अंतिम लक्ष्य मेरी पारदर्शी अल्फा मिश्रित आकर्षित करने के लिए UpdateLayeredWindow उपयोग करने के लिए है खिड़की। मैं एक कंककी जैसी एप्लिकेशन बना रहा हूं, और मैं टेक्स्ट के लिए क्लियरटाइप प्रतिपादन का उपयोग करने में सक्षम होना चाहता हूं (यह निश्चित रूप से एंटीअलाइजिंग के बिना आसान है)।
वर्तमान में, मैं फॉर्म के पीछे स्क्रीन पकड़ता हूं, इसे खींचता हूं, और फिर अपना टेक्स्ट खींचता हूं। यह अच्छा लग रहा है, लेकिन इसे अद्यतन किया जाना है और आकर्षित करने में धीमा है। डेस्कटॉप पर ड्राइंग टेक्स्ट को पूरा करने के लिए कोई अन्य विचार भी स्वागत किया जाएगा।
यह अच्छी तरह से काम किया, धन्यवाद! यह क्लीयरटाइप के रूप में काफी सुंदर नहीं है, लेकिन क्लियरटाइप (पूर्व कंसोलस) के लिए डिज़ाइन किए गए फोंट अभी भी ठीक दिखते हैं। – iano
उत्सुकता से, मेरे लिए 'AntiAliasGridFit' शून्य एंटी-एलियासिंग के साथ पाठ उत्पन्न करता है। हालांकि, एंटीअलीस, काम करता है। –
'एंटीअलीस ग्रिडफ़िट' एंटी-एलियासिंग नहीं कर सकता है यदि फ़ॉन्ट का आकार बहुत छोटा है। ऐसे फ़ॉन्ट आकारों पर, 'एंटीअलीस' वैसे भी एक बदसूरत परिणाम देता है। –