Ich hatte kürzlich ein Problem mit dem Subpixel-Anti-Aliasing von Text , das sehr scharfe Farben erzeugt und mich gefragt hat, wie es richtig gemacht werden soll:
Ich habe einige Fälle einer schwarzen Kachel gezeichnet, die Drittel der Pixel darunter bedeckt.
Die Farben stimmen mit denen überein, die ich sehe. Wenn ich jedoch richtig antialiasierten Text betrachte, ist das Ergebnis bei weitem nicht so hell und ablenkend:
Ich gehe davon aus, dass es ein Gleichgewicht zwischen einer guten Lichtintensität und der richtigen Farbe geben muss. Welche Methoden für das Subpixel-Anti-Aliasing werden verwendet, um so gute Ergebnisse zu erzielen?
Aktualisieren:
Ich habe eine weiße Teekanne zu einem Bild mit 3x Breite und Multisampling gerendert. Im Folgenden vergleiche ich die Mittelung alle 3 Pixel mit der Zuordnung zu RGB. Die Farben scheinen in einigen Fällen immer noch zu hell zu sein (insbesondere im Vergleich zum obigen Beispiel von hier ), nicht dass mein Telefon sie gut erfasst.
quelle
Antworten:
Ich bin mir nicht sicher, was dort passiert. Wenn Sie sich das Rendern von "Überlegungen" in Ihrem Beispiel ansehen, sehen die "Nachteile" so aus, wie Sie es erhalten, wenn Sie ein grobes Subpixel-Anti-Aliasing durchführen, ohne die erforderlichen "Korrekturen" anzuwenden, damit es gut aussieht. Aber dann sieht das "der" im selben Wort so aus, als gäbe es kein Subpixel-Anti-Aliasing.
Einen guten Artikel darüber, wie gut aussehendes Subpixel-Anti-Aliasing funktioniert, finden Sie hier https://www.grc.com/ct/ctwhat.htm und für den Teil "Fix up" hier https: //www.grc. com / ct / freeandclear.htm und hier https://www.grc.com/ct/cttech.htm
Worauf es ankommt, ist: Wenn Sie nur die R / G / B-Intensitäten berechnen, indem Sie die abgedeckte Fläche für jedes Subpixel berechnen, sind die resultierenden Farbsäume sehr hässlich / irritierend. Um dies zu beheben, müssen Sie einen horizontalen Unschärfe- / Tiefpassfilter auf das Subpixelbild anwenden. Das Ergebnis ist ein Bild, das weniger scharf ist, aber auch weit weniger gesättigte Farben aufweist. Dh so etwas wie dein "Check you" Beispiel.
quelle
Sie rastern die Buchstaben einfach so, als wären sie dreimal so breit.
Die Ergebnisse unterscheiden sich in der Art und Weise, wie Sie die Kurven rastern, insbesondere in der Art des verwendeten Anti-Aliasing- / Sampling-Schemas und in der Verwendung von Schriftartenhinweisen . Eine gute Übersicht finden Sie unter Textrasterungsexpositionen nach Anti-Korn-Geometrie (IIRC wird von Chromium / PDFium verwendet) oder Subpixel-Rendering auf Wikipedia.
Was das angehängte Bild angeht, glaube ich nicht, dass es etwas mit Subpixel-Rendering zu tun hat. Es könnte alles Mögliche sein: falsche Pixelgeometrie , falsches Gamma, falsche Farbraumkonvertierung, ...
quelle