In meiner anderen (nicht verwandten) question, @Meleak hatte SnapsToDevicePixels
verstreut über den Code (in seiner Antwort), fand ich heraus, es wird verwendet, um die Dinge schärfer aussehen. Also die Frage, warum wird es nicht überall verwendet, da es die Dinge besser aussehen lässt? Oder gibt es da Nachteile, die ich beachten muss? Wann sollte/sollte ich es nicht benutzen?Sollen UseLayoutRounding & SnapsToDevicePixels immer verwendet werden?
7
A
Antwort
2
Dadurch deaktiviert subpixel rendering, die Schärfe verbessert aber auch WPF resolution independence. Es kann entweder eine gute oder eine schlechte Sache sein, je nachdem, was Sie grafisch in Ihrer App tun.
Eine vollständige Erklärung finden Sie unter Pixel Snapping auf MSDN.
Verwandte Themen
- 1. SnapsToDevicePixels, UseLayoutRounding und BitmapScalingMode scheint nicht zu funktionieren
- 2. Wann benutzerdefinierte Steuerelemente verwendet werden sollen
- 3. Sollen Ausnahmen für die Formularvalidierung verwendet werden?
- 4. Wann statische Variablen/Methoden verwendet werden sollen und wann Instanzvariablen/Methoden in Java verwendet werden sollen?
- 5. Sollen `! Var` oder` var == NULL` verwendet werden?
- 6. Eingabenamen, die nicht verwendet werden sollen?
- 7. Sollen Wagenrücklauf \ und neue Zeile \ n immer zusammen verwendet werden? \ r \ n
- 8. Sollen die Fremdschlüssel der Nachschlagetabelle immer indiziert werden?
- 9. Sollen Parameter als Variablen in Lua verwendet werden?
- 10. Sollen Inline-Funktionen in Shared-Library-Headern verwendet werden?
- 11. Sollen benutzerdefinierte Steuerelemente zum Verwalten der Formularkomplexität verwendet werden?
- 12. Sollen Datensätze in einer Webanwendung auf Unternehmensebene verwendet werden?
- 13. Sollen Variablenangaben immer außerhalb einer Schleife stehen?
- 14. Sollen Einwegartikel weitergegeben werden?
- 15. Sollen Maßeinheiten lokalisiert werden?
- 16. Sollen Meteor-Publikationsfunktionen benannt werden?
- 17. Sollen Dialoge automatisch geschlossen werden?
- 18. Wohin sollen Akteursmeldungen gemeldet werden?
- 19. Welche Edelsteine sollen installiert werden?
- 20. Sollen Interop-Baugruppen signiert werden?
- 21. Wie sollen NSTableCellViews angelegt werden?
- 22. Sollen die Reduzierungen verschachtelt werden?
- 23. Sollen IDE-Projektdateien unter Versionskontrolle gestellt werden?
- 24. Was bedeutet SnapsToDevicePixels in WPF für Laien?
- 25. Sollen statische Variablen durch Enums ersetzt werden?
- 26. Sollen die Singleton-Methoden synchronisiert werden?
- 27. Sollen Benutzerdaten in einer Konfigurationsdatei gespeichert werden?
- 28. Sollen Plisten in CoreData importiert werden?
- 29. WPF fällt in Endlosschleife, wenn UseLayoutRounding = "True"
- 30. So erhalten Sie Antwortdaten, die außerhalb der Funktion verwendet werden sollen
Deaktiviert Subpixel _positioning_, nicht _rendering_ (ein strichliger Pfad wird weiterhin mit Anti-Aliasing gerendert). Es umrundet einfach die Komponentengrenzen, so dass sie ganzzahlige Koordinaten und Größen haben. Es wird auch die Auflösungsunabhängigkeit nicht vereitelt, da nach dem Konvertieren geräteunabhängiger Werte in den Geräteraum gerundet wird. –
@Nicolas, na ja, es ist schwieriger, mit Subpixeln gerendert zu werden, wenn alle Grenzen an die tatsächlichen Pixelwerte geknipst sind ... Ihr Strichpfadbeispiel würde funktionieren, aber z. Geraden und Füllungen nicht. Da die Unabhängigkeit der Auflösung auch davon abhängt, unabhängig vom Pixelraster zu sein, kann ich nicht sehen, wie es erreicht werden würde, wenn es an dieses Pixelraster geknipst würde. Selbst wenn nach der Koord-Systemkonvertierung eine Rundung durchgeführt wird, gibt es wahrscheinlich kleine Unterschiede beim Rendern zwischen den Geräten. –
Ja, es wird kleine Unterschiede geben, aber Ihre Anwendung sieht in 96 oder 300 dpi ungefähr gleich aus. Das meine ich mit _resolution independence_. –