Re: Trying to figure out some rasterization problems

Behdad Esfahbod <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
Hi David,

Long time!  Comments below.

On 13-04-21 09:49 AM, David Kastrup wrote:
> 
> a) creating a path and filling it (or clipping with it) leads to results
> that are too thin on a subpixel base.
> 
> The PostScript/PDF imaging model is pretty clear about clip/fill
> regions: every pixel that has any part, no matter how small, inside of
> the path belongs to the region.  So if I am not using strokeadjust, and
> I am stroking a path, clipping by its outline is not supposed to change
> any pixel.  And using strokeadjust will only _reduce_ the area covered
> by a stroke, so again, clipping and stroking should not make a
> difference as opposed to only stroking.

You are jumping to conclusions here.  What's strokeadjust?  Cairo doesn't
implement PostScript/PDF exactly...


> Unfortunately, it _does_ make a difference.  Why do we care?  Because
> note stems are rectangles with rounded corners.  Not completely circular
> stroke ends, just rounded corners.  If we care for stroke adjustment
> (which we do), that means our actual shape needs to be represented as an
> intersection of a stroke-adjusted rectangle and clipping off the rounded
> corners.  That clipping apparently removes too much.  An easy solution
> appears to be to restroke the middle part of the rectangle without any
> clipping.  Which comes to problem b) which I think Cairo might be
> responsible for:

I still have no idea what you are talking about.  Perhaps some images would help?


> Now I can't figure out the strategy used by Cairo for antialiased
> rendering from the docs and code so far: is it drawing on a higher
> resolution canvas?  Or is it some heuristic juggling with greyness
> levels?  If the latter, what are the heuristics?

The latter.  The "independence" heuristic I'd call it.  Google for Porter-Duff.

-- 
behdad
http://behdad.org/
-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.