whats news new microsoft features docs compute .net wpf

.net - news - Solución alternativa de WPF Anti aliasing



new features c# (6)

Anti aliasing no se puede desactivar en WPF. Pero quiero eliminar la apariencia borrosa de las fuentes WPF cuando son pequeñas.

Una posibilidad sería usar un componente .net 2.0. Parece que perdería la capacidad de transparencia y el soporte de Blend. Nunca lo intenté sin embargo.

Alguien tiene una solución para esto? ¿Alguna desventaja de esto?

Gracias


Anti-Alias ​​se puede desactivar comenzando WPF 4.0 con la siguiente opción:

TextOptions.TextFormattingMode="Display"


Intente utilizar la propiedad UIElement.SnapsToDevicePixels en los elementos de la interfaz de usuario de su ventana. La gente tiende a informar que funciona mejor para gráficos y líneas , pero también he notado mejoras en la representación de texto.


SnapsToDevicePixels no tiene ningún efecto en la representación de texto.


Compensa los objetos que dibujas, que no quieres que sean antialias, en 0.5px. Esto hará que el motor de dibujo dibuje en los píxeles reales, en lugar de dibujar en el borde de los píxeles (que es el valor predeterminado). Cuando se dibuja en el borde de un píxel, el antialiasing normalmente ocurre en los píxeles circundantes.

Esto es similar a Quarts drawing en Mac.

Editar: Lo siento, no leí la pregunta. Esto no funciona para fuentes, solo para formas. Aunque dejaré el comentario aquí para referencia.


Microsoft tiene un blog dedicado a la representación de texto en WPF aquí WPF Text Blog

Las cosas definitivamente han mejorado en .NET 4.0.


¿Has intentado poner un control de WindowsFormsHost en una ventana / control de WPF? Eso permitirá a WPF renderizar un control WinForms.

ACTUALIZACIÓN Noviembre de 2012 : esta pregunta y respuesta tienen 4 años. La representación de texto ha mejorado desde entonces en WPF . No coloque controles WinForms en aplicaciones WPF; esa fue una manera de hackear para arreglar el renderizado de fuentes. Ya no es necesario.