2008-08-22 21 views
10

WPF'de kenar yumuşatma cannot be turned off. Ancak, küçük olduğunda WPF yazı tiplerinin bulanık görünümünü kaldırmak istiyorum.WPF Örtüşme geçici çözümü

Bir olasılık .net 2.0 bileşenini kullanmak olabilir. Bu saydamlık ve Blend desteğini kaybedecek gibi görünüyor. Asla denemedim.

Bunun için herkesin bir çözümü var mı? Herhangi bir dezavantajı var mı?

size

cevap

3

bir WPF pencere/kumanda üzerindeki bir WindowsFormsHost kontrolünü koyarak denediniz ederiz? Bu, WPF'nin bir WinForms denetimi oluşturmasına izin verecektir.

UPDATE Kasım 2012: Bu soru ve yanıt 4 yaşında. Text rendering has since improved in WPF. Lütfen WFF uygulamalarına WinForms kontrollerini koymayın; Bu yazı tipi oluşturmayı düzeltmek için hack bir yoldu. Artık gerekli değil.

+7

Bu cevap WPF mevcut durumu ilgili birimleri biliyor. Umarız VS2010'da gelişir. ;) –

+0

wtf, bu fazlalık – paIncrease

+1

Evet, öyle, ama bu soru 4 yaşın üzerindedir. O zamandan bu yana, özellikle WPF yazı tipi oluşturma işlemleri geliştirildi: http://blogs.msdn.com/b/text/archive/2009/08/24/wpf-4-0-text-stack-improvements.aspx –

-3

Pencerenizin UI öğelerinde UIElement.SnapsToDevicePixels özelliğini kullanmayı deneyin. İnsanlar, graphics and lines için en iyi şekilde çalıştığını bildirme eğilimindedir, ancak metin oluşturmada da iyileştirme olduğunu fark ettim.

+1

iki aynı metin parçası arasında doğrudan karşılaştırma ve SnapsToDevicePixel ayarında herhangi bir fark bulamadı. Ayrıca, "bulanıklık" nın arkasındaki teknik nedenlerden yola çıkarak bunun nasıl yardımcı olabileceğini hayal bile edemiyorum. –

1

SnapsToDevicePixels'in metin oluşturma üzerinde kesinlikle bir etkisi yoktur.

0

Çizdiğiniz nesneleri, ölçeklenmesini istemediğinizden, 0,5 pikselden ayırın. Bu, çizim motorunun piksellerin kenarına çizim yapmak yerine gerçek pikselleri çizmesine neden olacaktır (bu varsayılan değerdir). Piksel antialiasingin kenarına çizerken normal olarak çevreleyen piksellerde oluşur.

Bu, Mac'te çizim yapan Quarts'a benzer.

Düzeltme: Soruyu anlamadım. Bu, yalnızca şekiller için yazı tipleri için çalışmaz. Yine de, referans için buraya yorum bırakacağım.

1

Microsoft WPF Text Blog

Şeyler kesinlikle .NET 4.0'da düzeldi burada WPF render metne adanmış bir blog var.

9

Kenar Yumuşatma aşağıdaki seçeneği ile WPF 4.0 başlayan kapatılabilir:

TextOptions.TextFormattingMode="Display" 
+1

Bu, Kenar Yumuşatma özelliğinin kapatılmamış olmasıdır. Kenar Yumuşatma ayarının farklı ve daha net bir sürümüdür. Aliased seçeneği TextOptions.TextRenderingMode = "Aliased" –

İlgili konular