Estoy haciendo algunas pruebas sobre cómo dibujar texto en .Net y tuve los siguientes resultados.Dibujando texto en .NET
- La primera cadena es una etiqueta nativa con la
FlatStyle
conjunto deSystem
- La segunda cadena se dibuja con
Graphics.DrawString()
método - El último de ellos se dibuja usando
TextRenderer.DrawText()
método
Todos los casos usan la fuente predeterminada de Windows Vista/7: Segoe UI, 9
Como puede ver, hay una diferencia entre la segunda cadena y las demás (tiene menos calidad y el alias anti es diferente). He intentado configurar el anti-alias y el modo de suavizado en el objeto Graphics
, sin ningún resultado.
¿Es posible dibujar el texto usign Graphics.DrawString
y obtener la misma calidad que otros métodos?
Gracias de antemano.
EDIT: He revisado el código con reflector. Me di cuenta de que Graphics.DrawString
utiliza gdiplus.dll método de llamada GdipDrawString() y TextRenderer.DrawText
utiliza user32.dllDrawTextExW
llamando y DrawTextExA
.
¿Algún comentario al respecto?
¿utiliza exactamente el mismo tipo de letra en todos los casos? – Tigran
@Tigran: Sí, ver mis ediciones –
Le falta la opción 'AntiAlias' ... – balexandre