Re: Pixels Are Not Little Squares
Bill Spitzak <[email protected]>
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <[email protected]> |
No matter what shape you think a pixel is, as long as it is symmetric, there is a location on the screen that is the center. This location is at X+.5 and Y+.5 where X and Y are integers. If you divide the plane up into domains defined by "which pixel center is closest" then you will get little squares, and the borders between them land on the integer coordinates. Therefore there are "little squares" defined by the pixels, no matter what sampling method you are using. Sampling that consists of integrating the image over this "little square" is not really very bad. It is just slow (except for some degenerate cases of images consisting of rectangles parallel with the axis). It is more accurate than quite a few methods Cairo is using, and useful as a goal to approximate when designing other methods. I see absolutely nothing wrong with describing pixels as "little squares". On 04/24/2016 06:07 PM, Krzysztof Kosiński wrote: > As far as I know, Cairo does use an approximation of the box filter > when sampling polygons, or at least does so by default. If it used > point (impulse) samples, you would get jagged edges. Thus, for > rendering polygons or lines (which is what is being done here), the > "little square" model is reasonable. > > The "little square" model is not a good general description of how > image processing works, but it is reasonably good lie-to-children when > discussing box-filtered sampling. > https://en.wikipedia.org/wiki/Lie-to-children > > 2016-04-22 14:37 GMT-07:00 Lawrence D'Oliveiro <[email protected]>: >> On Fri, 22 Apr 2016 13:22:19 -0700, Krzysztof Kosiński wrote: >> >>> The little square model is OK for Cairo, since it uses a box filter >>> for sampling tje omage when rendering. This is necessary for >>> antialiasing. >> >> No it doesn’t, and no it isn’t. You’re probably thinking of image >> resampling, and Cairo offers a choice of filters for that >> <http://cairographics.org/manual/cairo-cairo-pattern-t.html#cairo-filter-t>. >> And the underlying Pixman layer offers even more. >> -- >> cairo mailing list >> [email protected] >> https://lists.cairographics.org/mailman/listinfo/cairo -- cairo mailing list [email protected] https://lists.cairographics.org/mailman/listinfo/cairo