Wirken sich die Regeln für die PDF-Scan-Konvertierung auf das Anti-Aliasing aus?
Die Regeln für die Scankonvertierung in PDF sind insofern besonders, als dass keine der öffentlich verfügbaren Grafikbibliotheken sie implementiert. Auf der anderen Seite implementiert fast jede PDF-Rendering-Engine einen Anti-Aliasing-Mechanismus, um Bitmaps mit niedriger und mittlerer Auflösung zu unterstützen. Die Frage, die sich sofort stellt, lautet: Wie hängen diese beiden Mechanismen miteinander zusammen?
Lassen Sie uns zunächst verstehen, wie Anti-Aliasing normalerweise in einer PDF-Rendering-Engine implementiert wird. Der PDF-Standard definiert den Begriff der "Form". Die Form ist eine Zahl zwischen 0 und 1, die den Beitrag der Farbe des Grafikelements zum Ergebnis an jeder Pixelposition definiert. Konzeptionell kann sie als eine zusätzliche Farbkomponente betrachtet werden. Wenn Sie z. B. ein Rechteck auf einer Seite zeichnen, ist der Formwert innerhalb des Rechtecks 1 und außerhalb 0. An den Rändern kann der Wert zwischen 0 und 1 liegen, je nachdem, wie groß der Bereich des Pixels ist, der von dem Rechteck abgedeckt wird.
Zweitens: Der PDF-Standard besagt: "Eine Form wird gescannt, indem jedes Pixel gemalt wird, dessen halboffener quadratischer Bereich die Form schneidet, unabhängig davon, wie klein der Schnittpunkt ist." Diese Regel gilt insbesondere dann, wenn die Schnittmenge gleich Null ist.
Vergleichen wir nun die beiden Regeln. Nach der Anti-Aliasing-Regel wäre die Form 0, wenn die Schnittfläche zwischen einem Grafikelement und einem Pixel 0 ist. Nach der Scan-Umwandlungsregel wäre die Form jedoch 1.
Offensichtlich geht die Scan-Konvertierungsregel auf den PostScript-Bereich zurück, als Anti-Aliasing noch kein Thema war. Außerdem ist die Regel einfach zu implementieren, wenn kein Anti-Aliasing erforderlich ist. Da Anti-Aliasing jedoch in vielen heutigen Anwendungsbereichen ein Muss ist, muss der Entwickler einer Rendering-Engine eine Lösung finden. Wird ein minimaler Formwert verwendet? Oder eine spezielle Vorverarbeitung der Grafikpfade?