Şimdi Ara

C# - Windows Form transparan arka planda text sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
2.138
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar. Windows form'da tamamen transparan bir görünüme sahip ve sadece yazıların (label kullanıyorum şimdilik, başka öneri varsa kullanabilirim) gözükeceği saydam bir uygulama yapıyorum.


    Fakat şöyle bir sıkıntı var, internette de yazan birçok yerdeki yönteme göre denediğimde transparan oluyor ama yazının arkasında transparan rengi neyse o da beliriyor. Daha iyi anlatabilmem için direkt görsel üzerinden örnek veriyorum, aşağıdaki görsellerde gördüğünüz gibi yazının arkasında transparentKey olarak verilen renk ne ise (internetteki birçok örneğe göre Color.Lime veriliyor, ben de onu verdim) o beliriyor. Bunu nasıl düzeltebilirim acaba? Bu arada uygulamada borderStyle'ı da kapattım yani sadece label'daki yazı gözükecek şekilde ayarlardım tasarım olarak.


    C# - Windows Form transparan arka planda text sorunu


    C# - Windows Form transparan arka planda text sorunu






    Yazdığım kod:


    Kod

    Yığını:
    private void Form1_Load(object sender, EventArgs e)         {             BackColor = Color.Lime;             TransparencyKey = Color.Lime;             FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;             label1.Text = "deneme 12345";         }




    --------------------------------------------------------------------------------------------------------------------------------------------------------------------




    GÜNCELLEME: Arkadaşlar son olarak konuyu bilgilendirme amaçlı güncelliyorum. Windows Form'da "Program.cs" dosyasındaki "Application.SetCompatibleTextRenderingDefault(false);" satırının sonunu "true" yaparsanız benim gösterdiğim gibi saydam form üzerindeki yazıların arkasından renk fışkırması sorunu kısmen önlenmiş oluyor. Kısmen diyorum çünkü formun BackColor ve TransparencyKey'ine siyah renk vererek ve bu ayarı yaparak en iyi sonucu alabildim şu ana kadar deneyerek.

    Bir de bu söylediğim ayarı yapınca ufak bir şekilde yazı fontunda tırtıklanma meydana geliyor. Aslında ayarı yapmadan önce de tırtıklanma mevcut ama TransparencyKey ile aynı arka fona denk gelirse yazı, tırtıklanma kayboluyordu. Bu ayarda komple tırtıklanma mevcut her durumda. Çünkü bu ayar ile yazı fontlarındaki anti-aliasing'i kapatmış oluyoruz. Bunu en aza indirmek için yumuşak hatlara sahip yazı fontları kullanılabilir ve mümkün oldukça çok büyük yazılar eklemeyerek bu durum idare edilebilir Size bu yaptığım ayarın öncesi ve sonrasına ait örnek görseller bırakıyorum:


    C# - Windows Form transparan arka planda text sorunu


    C# - Windows Form transparan arka planda text sorunu


    C# - Windows Form transparan arka planda text sorunu


    C# - Windows Form transparan arka planda text sorunu


    C# - Windows Form transparan arka planda text sorunu


    C# - Windows Form transparan arka planda text sorunu


    Eğer kullanacağınız yazı renkleri siyah ve beyaz ise BackColor ve TransparencyKey'i farklı bir renk yapıp deneme yapabilirsiniz. Çünkü onlarda yine arkada renk taşması oluyor gibi bu ayarlarda.




    < Bu mesaj bu kişi tarafından değiştirildi Fulton -- 8 Ağustos 2021; 3:2:35 >







  • quote:

    Orijinalden alıntı: Gökşen PASLI

    Bu videoyu defalarca izledim hocam, bu konudaki bütün çıkan örnekleri, kaynakları inceledim bu sorunun kesin bir çözümü yok gibi. Windows Form'u transparan yapamıyorsunuz direkt olarak. Bu videoda belki adamın kullandığı renklerden dolayı belli olmasa da zaten benim yaptığım ve intertte de her yerde yazanla aynı şeyi yapıyor. Bir arka plan rengi verip onu transparentKey olarak atıyor ve böylece o rengi aslında maskeleyerek sözde transparan bir form yapmış oluyoruz. Ama bu durumda textlerin keskinliği ortaya çıkıyor, verdiğimiz transparentKey rengi textlerin keskin yerlerini doldurarak benim gösterdiğim gibi bir bozukluğa yol açıyor.




    < Bu mesaj bu kişi tarafından değiştirildi Fulton -- 4 Ağustos 2021; 22:33:0 >




  • winformsu bırakalı çok oldu ben wpf ile geliştirme yapıyorum onda bu tarz bi sıkıntı yok wpfyi de deneyebilirsin

  • quote:

    Orijinalden alıntı: Gökşen PASLI

    winformsu bırakalı çok oldu ben wpf ile geliştirme yapıyorum onda bu tarz bi sıkıntı yok wpfyi de deneyebilirsin

    Tamamdır hocam WPF'de birkaç deneme yaptım, istediğimi yapabiliyorum. Sorun Windows Form'la alakalı, WPF'de sorun yok.




    < Bu mesaj bu kişi tarafından değiştirildi Fulton -- 5 Ağustos 2021; 2:0:0 >
  • GÜNCELLEME: Arkadaşlar son olarak konuyu bilgilendirme amaçlı güncelliyorum. Windows Form'da "Program.cs" dosyasındaki "Application.SetCompatibleTextRenderingDefault(false);" satırının sonunu "true" yaparsanız benim gösterdiğim gibi saydam form üzerindeki yazıların arkasından renk fışkırması sorunu kısmen önlenmiş oluyor. Kısmen diyorum çünkü formun BackColor ve TransparencyKey'ine siyah renk vererek ve bu ayarı yaparak en iyi sonucu alabildim şu ana kadar deneyerek.

    Bir de bu söylediğim ayarı yapınca ufak bir şekilde yazı fontunda tırtıklanma meydana geliyor. Aslında ayarı yapmadan önce de tırtıklanma mevcut ama TransparencyKey ile aynı arka fona denk gelirse yazı, tırtıklanma kayboluyordu. Bu ayarda komple tırtıklanma mevcut her durumda. Çünkü bu ayar ile yazı fontlarındaki anti-aliasing'i kapatmış oluyoruz. Bunu en aza indirmek için yumuşak hatlara sahip yazı fontları kullanılabilir ve mümkün oldukça çok büyük yazılar eklemeyerek bu durum idare edilebilir Size bu yaptığım ayarın öncesi ve sonrasına ait örnek görseller bırakıyorum:


    C# - Windows Form transparan arka planda text sorunu


    C# - Windows Form transparan arka planda text sorunu


    C# - Windows Form transparan arka planda text sorunu


    C# - Windows Form transparan arka planda text sorunu


    C# - Windows Form transparan arka planda text sorunu


    C# - Windows Form transparan arka planda text sorunu


    Eğer kullanacağınız yazı renkleri siyah ve beyaz ise BackColor ve TransparencyKey'i farklı bir renk yapıp deneme yapabilirsiniz. Çünkü onlarda yine arkada renk taşması oluyor gibi bu ayarlarda.




    < Bu mesaj bu kişi tarafından değiştirildi Fulton -- 8 Ağustos 2021; 2:55:26 >




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.