[cairo] Pixels Are Not Little Squares

Bill Spitzak spitzak at gmail.com
Fri Apr 22 16:53:12 UTC 2016


I think it is clearest to say the boundaries between the pixels are at
integers.

The centers (I don't think there is anything wrong with saying center) is a
i+.5, j+.5 where i and j are integers.


On Thu, Apr 21, 2016 at 9:05 PM, Lawrence D'Oliveiro <
ldo at geek-central.gen.nz> wrote:

> The explanation of how to draw sharp single-pixel-wide lines
> <http://cairographics.org/FAQ/#sharp_lines> could be better phrased.
> The claim
>
>     When some people hear pixels described as little squares it sets
>     their teeth on edge.
>
> is nonsense. Saying this doesn’t set anyone’s “teeth on edge” (not of
> knowledgeable people, anyway), it is simply wrong
> <http://www.alvyray.com/Memos/MemosCG.htm#PixelIsNotSquare>.
>
> The explanation could be expressed simply as an issue of where to
> position the pixels* with respect to the coordinate system. In my Cairo
> Gotchas notebook
> <
> https://github.com/ldo/qahirah_notebooks/blob/master/Cairo%20Gotchas.ipynb
> >,
> I currently say
>
>     Cairo locates pixels at integer+½ units in device coordinates. This
>     way, adjacent filled areas which share the same integer-coordinate
>     boundary will abut nicely without overlaps or gaps. So if you want
>     to draw lines that don’t get smeared across extra pixels, you will
>     have to position them at coordinates n such that n mod 1 = ½
>
> which is a much more direct way of putting it, don’t you think? And
> completely avoiding any misleading comments about “little squares”.
>
> *Note I said “pixels”, not “pixel centres”.
> --
> cairo mailing list
> cairo at cairographics.org
> https://lists.cairographics.org/mailman/listinfo/cairo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cairographics.org/archives/cairo/attachments/20160422/a0200328/attachment.html>


More information about the cairo mailing list