On Tue, Sep 10, 2019 at 03:23:43PM +0200, Jens Axel Søgaard wrote:
> Den tir. 10. sep. 2019 kl. 14.54 skrev George Neuner <gneun...@comcast.net>:
> 
> >
> > Or create a region with a hole through it and use it to clip the drawing.
> >
> 
> Great suggestion. That's much better than using pict->bitmap.
> 
> I have extended "clipped" to handle regions defined by more than one path.
> Now (clipped c ... p) will make a region from the curves c ... and use
> the region to clip the pict p. Most common uses:
> 
>    (clipped c p)          the part of p inside c
>    (clipped c1 c2 p)   the part of p between c1 and c2 (if c2 is inside c1)

Does that mean the part of p that is inside c1 and outside c2? (which 
would be meaningful even if c1 and c2 intersect?  That might happen 
because of numerical instability.)

> 
> The example now becomes:
> 
> #lang racket
> (require metapict metapict/polygons)
> 
> (define (cutout p x y r)
>   (defv (w h) (pict-size p))
>   (with-window (window 0 w 0 h)
>     (clipped (rectangle (pt 0 0) (pt w h))
>              (circle (pt x y) r)
>              p)))
> 
> (set-curve-pict-size 400 400)
> (def p (brushcolor "red" (fill (regular-polygon 5))))
> (cutout p 200 200 50)
> 
> Before only one curve was supported and the result of clipped was the
> interior,
> so the old clipped couldn't cut holes.
> 
> /Jens Axel

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/20190910150434.phffylfchq6ennlm%40topoi.pooq.com.

Reply via email to