Share via


Antialiasing mit Text

Windows GDI+ bietet verschiedene Qualitätsstufen für das Zeichnen von Text. In der Regel dauert das Rendern in höherer Qualität länger als das Rendern in niedriger Qualität.

Die Qualitätsstufe ist eine Eigenschaft der Graphics-Klasse . Um die Qualitätsebene festzulegen, rufen Sie die Graphics::SetTextRenderingHint-Methode eines Graphics-Objekts auf. Die Graphics::SetTextRenderingHint-Methode empfängt eines der Elemente der TextRenderingHint-Enumeration , die in Gdiplusenums.h deklariert ist.

GDI+ bietet herkömmliches Antialiasing und eine neue Art von Antialiasing basierend auf der Microsoft ClearType-Anzeigetechnologie, die nur unter Windows XP und Windows Server 2003 und höheren Versionen von Windows verfügbar ist. ClearType Glättung verbessert die Lesbarkeit von LCD-Farbmonitoren, die über eine digitale Schnittstelle verfügen, z. B. die Monitore in Laptops und hochwertige flache Desktop-Displays. Die Lesbarkeit auf CRT-Bildschirmen wurde ebenfalls etwas verbessert.

ClearType hängt von der Ausrichtung und Reihenfolge der LCD-Streifen ab. Derzeit ist ClearType nur für vertikale Streifen implementiert, die rgb sortiert sind. Dies kann ein Problem sein, wenn Sie einen Tablet-PC verwenden, auf dem die Anzeige in eine beliebige Richtung ausgerichtet werden kann, oder wenn Sie einen Bildschirm verwenden, der vom Querformat zum Hochformat gedreht werden kann.

Das folgende Beispiel zeichnet Text mit zwei verschiedenen Qualitätseinstellungen:

FontFamily  fontFamily(L"Times New Roman");
Font        font(&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, &font, PointF(10.0f, 10.0f), &solidBrush);

graphics.SetTextRenderingHint(TextRenderingHintAntiAlias);
graphics.DrawString(string2, -1, &font, PointF(10.0f, 60.0f), &solidBrush);
            

Die folgende Abbildung zeigt die Ausgabe des vorangehenden Codes.

Screenshot einer Zeichenfolge, deren Zeichen mit gezackten Kanten mit einer Zeichenfolge mit glatten Kanten kontrastiert sind