Durante le indagini su come ottenere l'API grafica Cairo per disegnare una linea a pixel singolo, ho trovato questa spiegazione in le FAQ . Spiega perché spesso una linea a pixel singolo viene disegnata come una linea di mezza intensità di due pixel di larghezza.
The reason that cairo does it this way is so that fills align nicely, at the cost that some strokes do not. It is not possible to set up sample locations in a way so that both fills and strokes with integer coordinates work nicely, so one had to be preferred over the other. One argument in favor of preferring fills is that all fills with integer coordinates align nicely this way. The best that can be done with strokes is to make all even-integer-width strokes align nicely (as they do in cairo) or to make odd-integer-width strokes align (which would then break the fill alignment).
Dopo aver letto questa spiegazione, continuo a non capire perché questo sia un problema con la grafica in generale. Cosa significano per tratti di larghezza dispari che spezzano l'allineamento di riempimento? Perché è un tale problema avere sia il riempimento che il tratto allineati a interi pixel?
Suppongo di non capire veramente perché o come la larghezza del tratto influisca sul riempimento.