ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Ramkumar KB via ntg-context <ntg-context@ntg.nl>
To: Hans Hagen <j.hagen@xs4all.nl>
Cc: Ramkumar KB <ramkumarkb@gmail.com>,
	mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: Best way to apply a fill-pattern to a closed shape?
Date: Sun, 29 Aug 2021 10:48:22 +0800	[thread overview]
Message-ID: <CAMD5SRN1=TeavUDP+zbpoGPtvhxCjq2mOyCz0PX+74DzqnwzoQ@mail.gmail.com> (raw)
In-Reply-To: <e905f906-68dd-525e-58bc-132606f6edfb@xs4all.nl>


[-- Attachment #1.1: Type: text/plain, Size: 5326 bytes --]

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
> -----------------------------------------------------------------
>

[-- Attachment #1.2: Type: text/html, Size: 7241 bytes --]

[-- Attachment #2: Type: text/plain, Size: 493 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2021-08-29  2:48 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-28  9:33 Ramkumar KB via ntg-context
2021-08-28 11:02 ` Hans Hagen via ntg-context
2021-08-29  2:48   ` Ramkumar KB via ntg-context [this message]
2021-08-29  9:17     ` Hans Hagen via ntg-context
2021-08-30  4:35       ` Ramkumar KB via ntg-context
2021-08-30  6:56         ` Hans Hagen via ntg-context

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAMD5SRN1=TeavUDP+zbpoGPtvhxCjq2mOyCz0PX+74DzqnwzoQ@mail.gmail.com' \
    --to=ntg-context@ntg.nl \
    --cc=j.hagen@xs4all.nl \
    --cc=ramkumarkb@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).