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 <j.hagen@xs4all.nl> wrote:
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
-----------------------------------------------------------------