¿Alguien puede explicar por qué todo en WPF es borroso? ¿Es esto algo que se puede arreglar?¿Por qué todo en WPF es borroso?
Respuesta
La razón de esto es el sistema anti-aliasing que se extiende la línea a través de múltiples píxeles si no se alinea con los pixeles dispositivo físico.
WPF es resoultion independiente. Esto significa que especifica el tamaño de un elemento de interfaz de usuario en pulgadas, no en píxeles. Una unidad lógica en WPF es 1/96 de pulgada. Se elige esta escala, porque la mayoría de las pantallas tienen una resolución de 96 ppp. Entonces, en la mayoría de los casos, 1 unidad lógica coincide con 1 píxel físico. Pero si la resolución de la pantalla cambia, esta regla ya no es válida.
Todos los controles WPF proporcionan una propiedad SnapsToDevicePixels
. Si se establece en verdadero, el control garantiza que todos los bordes se dibujen de forma directa en los píxeles del dispositivo físico. Pero desafortunadamente esta característica solo está disponible en el nivel de control.
Quick Fix:
Use estas opciones en cada contenedor de la raíz a tu control borroso
UseLayoutRounding="True"
RenderOptions.BitmapScalingMode="NearestNeighbor"
SnapsToDevicePixels="True"
RenderOptions.ClearTypeHint="Enabled"
Explicación:
UseLayoutRounding = true arregla problemas de diseño de subpixel . A menudo ocurren porque, p. Los controles de tamaño de efectos son algo entre píxeles.
RenderOptions.BitmapScalingMode = NearestNeighbor arregla el muestreo borroso de bitmaps. Los mapas de bits se usan cuando se usan efectos u otras técnicas. Cuando se vuelven a aplicar al contenedor o al control, pueden terminar entre píxeles y, por lo tanto, interpolar los píxeles del mapa de bits.
SnapsToDevicePixels = "true" correcciones verticales y horizontales polígonos, líneas y rectángulos que se queden entre medio de pixeles
RenderOptions.ClearTypeHint = "Habilitado" vuelve a habilitar cleartype en texto. Se desactiva muy fácilmente por efectos o siempre que el procesador no sepa el fondo exacto de un texto.
Debe usarlo en cada contenedor, porque a veces, por ejemplo, según las plantillas de datos, estas opciones están predeterminadas nuevamente para los subcontroles.
Adición: Usted podría encontrarse con problemas visuales en pantallas 4K o en otras ocasiones. Por ejemplo, es posible que el texto se rompa en el centro o que falten algunos píxeles por completo, incluso las líneas de 1 píxel completas pueden volverse invisibles. Necesita técnicas adicionales para solucionar estos problemas. – ecreif
- 1. Texto borroso en WPF solo cuando se ejecuta el programa
- 2. WPF: ¿Por qué todo el amor por el control de Grid?
- 3. texto borroso en NSStatusItem
- 4. ¿Por qué mi aplicación WPF es lenta en ciertos sistemas?
- 5. ¿Por qué DialogResult es un bool nullable en WPF?
- 6. ¿Qué es exactamente WPF?
- 7. ¿Hay un RowSpan = "Todo" en WPF?
- 8. ¿Por qué debo usar "Recursos" en WPF?
- 9. ¿Por qué FontStretch no funciona en WPF?
- 10. WPF MultiBinding Fails. ¿Por qué?
- 11. por qué no BindingList en WPF
- 12. UITextField texto borroso
- 13. ¿Por qué el texto de UILabel está borroso en el iPad si el ancho no es par?
- 14. ¿Qué tan estable es WPF?
- 15. ¿Por qué es tan costoso DrawingContext.DrawText de Wpf?
- 16. drawAtPoint: y drawInRect: texto borroso
- 17. 9-patch - 1px borde borroso
- 18. WPF Datagrid Botón "Seleccionar todo" - "Deseleccionar todo" también?
- 19. ¿Por qué/cómo está todo $() basado en jQuery?
- 20. ¿Qué es xmlns en cada archivo WPF?
- 21. ¿Por qué no baja WPF Canvas ahora?
- 22. ¿Por qué .net 4.0 escribe todo esto en DebugView?
- 23. ¿Por qué mi WPF se rebela repentinamente?
- 24. Por qué InitializeComponent es público
- 25. Evento para Seleccionar todo: WPF Datagrid
- 26. ¿Qué es todo esto en la carpeta CKEditor?
- 27. Java: ¿Qué es, en todo caso, bloqueado por métodos sincronizados aparte del objeto al que pertenecen?
- 28. WPF - ¿Por qué no funciona Keyboard.Focus()?
- 29. WPF DataGrid: por qué la columna adicional
- 30. ¿Por qué ActualSize no actualiza su valor en WPF?
Tenga en cuenta que la propiedad SnapToDevicePixels tiene ningún efecto sobre los glifos de texto. Pruebe esto con TextBlock para ver a qué me refiero. Desafortunadamente estamos atrapados con texto borroso por ahora. –
Hay más acerca de las fuentes borrosas aquí: http://stackoverflow.com/questions/190344/wpf-blurry-fonts-problem-solutions – Spoike