Hans,
Thank you for the snippets. These are super helpful (I am assuming commands
like `withpatternscale` are MetaFun extensions and Wow!).
I have added them to a new Wiki Page -
https://wiki.contextgarden.net/Fill_Patterns and linked it the main MetaFun
wiki page - https://wiki.contextgarden.net/MetaFun_-_MetaPost_in_ConTeXt
Thanks again!
best regards,
Ramkumar
On Sat, Aug 28, 2021 at 7:02 PM Hans Hagen
On 8/28/2021 11:33 AM, Ramkumar KB via ntg-context wrote:
Hello List,
I have a use case to apply a particular pattern to a closed shape. I am using Metapost for the figures.
After some research this package seems to quite good, in terms of having all the patterns normally used - https://ctan.org/pkg/minim-hatching https://ctan.org/pkg/minim-hatching
But I could not figure out how to use this with ConTeXt. Or maybe there is already a better way to do this in ConTeXt and am missing that trick.
Any tips would be really helpful. \starttext
\startMPpage[offset=1cm] draw (fullcircle scaled 5cm shifted (0cm,0cm)) withpattern image (fill fullcircle scaled 1cm withcolor "darkblue" ;) withpatternscale (1/10,1/10) ;
draw (fullcircle scaled 5cm shifted (5cm,0cm)) withpattern image (fill fullcircle scaled 5mm withcolor "darkred" ;) withpatternscale (1/20,1/20) ;
draw (fullcircle scaled 5cm shifted (10cm,0cm)) withpattern image (fill fullcircle scaled 5mm withcolor "darkgreen" ;) withpatternscale (1/40,1/40) ;
draw (fullcircle scaled 5cm shifted (0cm,5cm)) withpattern image (fill fullcircle scaled 1cm withcolor "darkcyan" ;) withpatternscale (1/10,1/20) ;
draw (fullcircle scaled 5cm shifted (5cm,5cm)) withpattern image (fill fullcircle scaled 5mm withcolor "darkmagenta" ;) withpatternscale (1/20,1/40) ;
draw (fullcircle scaled 5cm shifted (10cm,5cm)) withpattern image (fill fullcircle scaled 5mm withcolor "darkyellow" ;) withpatternscale (1/40,1/80) ; \stopMPpage
\startMPpage[offset=1cm] fill fullcircle scaled 11cm withcolor "darkyellow" ;
draw fullcircle scaled 10cm withpattern image (fill fullcircle scaled 1cm withcolor "darkblue" ;) ;
draw fulldiamond scaled 8cm withpattern image (fill fulldiamond scaled 4mm withcolor "darkgreen" ;) rotated 15 ;
draw fulltriangle scaled 9cm withpattern image (fill fulltriangle scaled 3mm withcolor "white" ;) rotated 45 ;
draw fullcircle scaled 10cm withpattern image (draw textext("!") withcolor "middlegray" ;) rotated 45 ;
draw fullcircle scaled 10cm withpen pencircle scaled 1mm withcolor "darkgray" ; \stopMPpage
\startMPpage[instance=doublefun] fill fullcircle scaled 8cm withcolor "yellow" ; draw fullcircle scaled 8cm withpattern image (draw figure("t:/sources/cow.pdf") rotated 45;) withpatternscale 1/40 ; \stopMPpage
\startMPpage[instance=doublefun] draw closedcurve(unitsquare xyscaled (200,200) shifted (0,-200)) withpattern image (fill closedcurve((fullcircle scaled 40 shifted (25,-25))) withcolor "darkgray" withopacity .5) withpatternscale (1,1) ; draw closedcurve(unitsquare xyscaled (200,200) shifted (0,-200)) withpattern image (fill closedcurve((fullcircle scaled 40 shifted (25,-25))) withcolor "darkred" withopacity .5) withpatternscale (1/2,1/2) ; draw closedcurve(unitsquare xyscaled (200,200) shifted (0,-200)) withpattern image (fill closedcurve((fullcircle scaled 40 shifted (25,-25))) withcolor "darkgreen" withopacity .5) withpatternscale (1/3,1/3) ; draw closedcurve(unitsquare xyscaled (200,200) shifted (0,-200)) withpattern image (fill closedcurve((fullcircle scaled 40 shifted (25,-25))) withcolor "darkblue" withopacity .5) withpatternscale (1/4,1/4) ; \stopMPpage
% \startTEXpage \page \startMPcode{doublefun} draw closedcurve(unitsquare xyscaled (200,200) shifted (0,-400)) withpattern image (fill closedcurve((fullcircle scaled 40 shifted (25,-25)))) withpatternscale 1/8 ; \stopMPcode \blank \startMPcode{doublefun} draw closedcurve(unitsquare xyscaled (200,200) shifted (0,-400)) withpattern image (fill closedcurve((fullcircle scaled 40 shifted (25,-25)))) withpatternfloat true withpatternscale 1/8 ; \stopMPcode \page % \stopTEXpage
\stoptext
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------