Kann jemand erklären, warum alles in WPF verschwommen ist? Ist das etwas, das behoben werden kann?Warum ist alles in WPF verschwommen?
Antwort
Der Grund dafür ist das Anti-Aliasing-System, das die Linie über mehrere Pixel verteilt, wenn es nicht mit physischen Gerätepixeln ausgerichtet ist.
WPF ist unabhängig von der Auflösung. Dies bedeutet, dass Sie die Größe eines Benutzeroberflächenelements in Zoll angeben, nicht in Pixel. Eine logische Einheit in WPF ist 1/96 Zoll. Diese Skala wird gewählt, da die meisten Bildschirme eine Auflösung von 96 dpi haben. In den meisten Fällen entspricht also 1 logische Einheit einem physikalischen Pixel. Wenn sich die Bildschirmauflösung ändert, ist diese Regel nicht mehr gültig.
Alle WPF-Steuerelemente bieten eine Eigenschaft SnapsToDevicePixels
. Wenn diese Option auf "true" gesetzt ist, stellt das Steuerelement sicher, dass alle Kanten exakt auf physischen Gerätepixeln gezeichnet werden. Aber leider ist diese Funktion nur auf der Steuerungsebene verfügbar.
Quick Fix:
diese Optionen auf Verwenden Sie jeden Container von der Wurzel zu Ihrem verschwommenen Steuer
UseLayoutRounding="True"
RenderOptions.BitmapScalingMode="NearestNeighbor"
SnapsToDevicePixels="True"
RenderOptions.ClearTypeHint="Enabled"
Erläuterung:
UseLayoutRounding = true behebt Subpixel-Layout-Probleme . Sie treten oft auf, weil z.B. Effekte passen die Größe der Steuerelemente an etwas zwischen Pixeln an.
RenderOptions.BitmapScalingMode = Nächster Nachbar behebt verschwommenes Sampling von Bitmaps. Bitmaps werden verwendet, wenn Effekte oder andere Techniken verwendet werden. Wenn sie erneut auf den Container oder die Steuerung angewendet werden, können sie zwischen Pixeln enden und daher die Pixel der Bitmap interpolieren.
SnapsToDevicePixels = "True" fixe vertikale und horizontale Polygonen, Linien und Rechtecken dazwischen Pixel
auf TextRenderOptions.ClearTypeHint = "Enabled" Aktiviert das Cleartype gerendert werden. Es wird sehr einfach durch Effekte oder immer dann deaktiviert, wenn der Renderer den genauen Hintergrund eines Textes nicht kennt.
Sie sollten es auf jedem Container verwenden, weil manchmal, z. Bei Datenvorlagen sind diese Optionen für die Untersteuerelemente wieder voreingestellt.
Addition: Sie könnten auf visuelle Probleme auf 4K-Bildschirmen oder bei anderen Gelegenheiten auftreten. Zum Beispiel kann Text in der Mitte zerrissen werden oder einige Pixel fehlen komplett, sogar ganze 1 Pixel Zeilen können unsichtbar werden. Sie benötigen zusätzliche Techniken, um diese Probleme zu beheben. – ecreif
- 1. Warum ist mein UIImageView verschwommen?
- 2. Verschwommen Adorner WPF XAML
- 3. WPF-Rendering ist hässlich und verschwommen auf Vista
- 4. Warum/wie ist alles $() in jQuery basiert?
- 5. Warum ist nicht alles in JavaScript zuweisbar?
- 6. Libgdx Schrift ist verschwommen
- 7. Bei Verwendung von ACTION_IMAGE_CAPTURE Warum ist das Vorschaubild verschwommen
- 8. Jfreechart vertikale Linie ist verschwommen
- 9. Warum ist ALLES nicht UTF-8 standardmäßig?
- 10. Cropped Bild ist verschwommen in Android
- 11. DXIMageTransform.Microsoft.Matrix verschwommen in IE9
- 12. Warum ist TextBox.Text in WPF nicht animierbar?
- 13. Warum ist DialogResult in WPF nULL-fähig?
- 14. Warum ist ALLES eine Instanz von Klasse in Ruby?
- 15. Warum erscheinen fa-rotate-90-Symbole in Chrome verschwommen?
- 16. Standard-Schrift in Eclipse auf OSX ist schrecklich (und verschwommen)
- 17. VectorDrawable-Datei verschwommen android
- 18. Warum in der mobilen Version Vollbild-Hintergrundbilder verschwommen sind?
- 19. 9-Patch - 1px Grenze ist verschwommen
- 20. Warum serialisiert JSON.NET alles in einer Zeile?
- 21. Warum schreibt PostgreSQL alles in Kleinbuchstaben?
- 22. warum wickelt Meteor 0.6.0 alles in (function() {...})
- 23. Website Bilder verschwommen in IE?
- 24. Was ist MonoPosixHelper.dll alles über?
- 25. Warum ist mein WPF-Textfeld "irgendwie" schreibgeschützt?
- 26. Warum ist meine WPF-gehostete WinForm leer?
- 27. Warum ist ImageSource als WPF-Ressource zulässig?
- 28. UITextField Text verschwommen
- 29. Verschwommen Qt Quick Text
- 30. Isotop verschwommen Elemente in Google Chrome
Beachten Sie, dass die SnapToDevicePixels-Eigenschaft keinen Einfluss auf Textglyphen hat. Versuchen Sie dies auf TextBlock, um zu sehen, was ich meine. Leider stecken wir vorerst mit verschwommenem Text fest. –
Es gibt mehr über verschwommene Schriften hier: http://StackOverflow.com/Questions/190344/Wpf-blurry-Fonts-Problem-Solutions – Spoike