Cómo usar GDI para suavizar todas las fuentes en el programa en vb
"Anti-aliasing" se refiere a suavizar los bordes rugosos de los gráficos y textos dibujados para mejorar su apariencia o legibilidad. GDI puede representar tanto texto suavizado de alta calidad como texto de baja calidad. GDI ofrece varios niveles de calidad para la representación de texto. Generalmente, cuanto mayor sea la calidad del renderizado, mayor será el tiempo de procesamiento requerido.
El nivel de calidad es un atributo de la clase Gráficos. Para establecer el nivel de calidad, debe llamar al método SetTextRenderingHint del objeto Graphics. Este método acepta uno de los miembros de la enumeración TextRenderingHint, que se define en el archivo de encabezado Gdiplusenums.h.
GDI proporciona tanto el AntiAlias tradicional como un nuevo AntiAlias basado en la tecnología de visualización ClearType de Microsoft, que sólo está disponible en Windows XP y Windows Server 2003. Mejora la legibilidad en monitores LCD en color con interfaces digitales, como monitores de portátiles y monitores de pantalla plana de alta calidad. También mejora ligeramente la legibilidad de las pantallas CRT.
ClearType está relacionado con la dirección y el orden de las franjas de la pantalla LCD. Actualmente, ClearType solo se implementa en franjas verticales en orden RGB. Esto puede ser algo a considerar si está usando una Tablet PC con una pantalla que puede orientarse en cualquier orientación, o si está usando una pantalla que gira de horizontal a vertical.
El siguiente ejemplo de código dibuja texto con dos configuraciones de calidad diferentes:
FontFamily fontFamily(L"Times New Roman");
Font font(amp ; fontFamily , 32, FontStyleRegular, UnitPixel);
SolidBrush solidBrush(Color(255, 0, 0, 255));
WCHAR string1[] = L"SingleBitPerPixel";
WCHAR string2[] = L"AntiAlias";
graphics.SetTextRenderingHint(TextRenderingHintSingleBitPerPixel);
graphics.DrawString(string1, -1, amp; font, PointF( 10.0f, 10.0f), & solidBrush);
graphics.SetTextRenderingHint(TextRenderingHintAntiAlias);
graphics.DrawString(string2, -1, &font, PointF( 10.0f, 60.0f ), amplificador; solidBrush);