में एंटी-एलाइज्ड टेक्स्ट मेरे पास एक सी # एप्लिकेशन है जो वर्तमान समय को पारदर्शी .NET फॉर्म में दिखाता है। फॉर्म में कोई नियंत्रण नहीं है और कोई सीमा नहीं है। इसकी संपत्ति TransparencyKey इसे पारदर्शी बनाने के लिए फ़ॉर्म के पृष्ठभूमि रंग "हल्के भूरे रंग" पर सेट है।
तो उपयोगकर्ता केवल पाठ (वर्तमान समय) देख सकता है।एक पारदर्शी .NET फॉर्म
पाठ PaintEventHandler में तैयार की है:
private void Display_Paint(object sender, PaintEventArgs e)
{
Graphics formGraphics = e.Graphics;
Font myFont = new Font("Microsoft Sans Serif", 24, FontStyle.Bold);
formGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
//formGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixel;
formGraphics.DrawString("00:00:00", myFont, Brushes.Green, 0.0F, 0.0F);
myFont.Dispose();
}
पाठ "00:00:00" विरोधी aliasing के कारण अस्तव्यस्त दिखाई जाती है जब फार्म गहरी पृष्ठभूमि खत्म हो गया है है। प्रकाश पृष्ठभूमि के लिए पाठ ओ.के. है
जाहिर विंडोज एक तरीका है कि यह फार्म की अपनी पृष्ठभूमि का रंग करने के लिए और एक तरह से है कि यह फिट बैठता है में नहीं फिट बैठता है में पाठ प्रस्तुत करना है:
इस छवि की समस्या और अच्छा मामले से पता चलता पृष्ठभूमि जो पारदर्शी रूप के पीछे है।
क्या पाठ को प्रतिपादित करते समय Windows को के पीछे पृष्ठभूमि लेना संभव है ताकि मुझे फ़्रिंग से छुटकारा मिल सके?
तदनुसार टेक्स्ट रेन्डरिंगहिंट सेट करके एंटी-एलाइजिंग को बंद करने के लिए एक "समाधान" हो सकता है। लेकिन अब तक यह मेरा पसंदीदा "समाधान" नहीं है।
सिस्टम:
Windows XP, सपा 3, .NET 3.5, 2008 वी.एस.
टिप के लिए धन्यवाद, लेकिन शैली की स्थापना में मदद नहीं करता। – Habi
मैं प्रतिलिपि भाग – pastapockets
के बारे में अधिक जानना चाहता हूं असल में मैंने कुछ खोज की, ऐसा लगता है कि मैं CopyFromScreen, http://stackoverflow.com/questions/715094/how-do-i-capture-the-current की तलाश में था स्क्रीन के रूप में एक छवि – pastapockets