[cairo] 45 degree antialiased lines
spitzak at d2.com
Thu Dec 30 12:06:37 PST 2004
On Thursday 30 December 2004 03:15 am, Nathan Hurst wrote:
> On Tue, 19 Oct 2004, Bill Spitzak wrote:
> > Per the conference call, I calculated what 1-pixel stroked lines should
> > look like at 45 degrees. IMHO they look much better than the aliased
> > lines. Results can be viewed at:
> > http://www.syntheticsw.com/~spitzak/lines.html
> On my digital LCD the second two of the second set of lines look too
> bright. The first set all look the same brightness. What do other people
Sorry I meant to explain that a little more clearly. I suspect the top result
will be used by Cairo in order to match virtually all other software out
there. I did think it would be nice to show correct brightnesses.
In the top example the pixel is assigned an 8-bit number that is
proportionally equal to the coverage. In the bottom picture the 8-bit number
is selected so the brightness of the sRGB standard (basically a gamma
correction) is equal to the pixel coverage. (the bottom picture also has an
aliased diagonal line, the dimmer one, you should ignore that).
You should be trying to match the brightness to the horizontal and vertical
lines, which are exactly one pixel wide and thus the "correct" brightness.
On my LCD the bottom picture makes the horizontal, vertical, and two
diagonals match. On my CRT the horizontal and vertical lines don't match, the
horizontal is much brighter. The diagonals in the top match the vertical,
while the diagonals in the bottom match the horizontal.
Make sure you are viewing the images at 1:1 zoom. Some kind of
screen-magnifier will help to check this, the horizontal and vertical should
be one pixel wide. If possible, zoom in by an integer (make sure you get
blocky and not smoothed pixels) and it should be clear the bottom picture
matches in brightness better. If this is not true I suspect your LCD has been
set somehow to display straight-line gamma, but that would make any
photographs from the web look very bright and washed out. It does appear that
single pixels are very
I am also wondering if the simple box filter I did is wrong. I should
calculate a correct sync filter (sin(r*pi)/(r*pi) where r is distance from
center of pixel to center of line). Problem with that is that it produces
negative values so can only be correctly displayed with a gray background.
Also should try thicker lines.
More information about the cairo