ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Devendra Ghate <devendra.ghate@gmail.com>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: Consistent Colors
Date: Tue, 29 Jan 2013 21:32:32 +0530	[thread overview]
Message-ID: <5107F298.1030609@gmail.com> (raw)
In-Reply-To: <51078438.5080009@gmail.com>


On 01/29/2013 01:41 PM, Devendra Ghate wrote:
> I have been going through the concepts underlying pallet.
>
> I would like to define three basic colors in RGB. Then use various shades
> and tints of these basic three colors through out the document.
>
> Now the algorithm for getting various shades for RGB scheme is:
>
> Darker shades:
> Multiply each component by 1/4, 1/2, 3/4, etc.
> of its previous value, depending on how dark the
> color should be.
>
> Lighter tints:
> Calculate (1 - previous value), multiply that by
> 1/4, 1/2, 3/4, etc. and add that to the previous value.
>
> What I would like is a macro that is fed a color name
> and should define 3 shades above and below it.
>
> I have following problems:
>
> 1. How to get RGB values of an already defined color? If this is too 
> involved then
> I can pass the RGB values to the macro as well.
>
> 2. How to create a loop and carry out the above arithmatic to
> create RGB values for various shades?
>
> Essentially the problem boils down to doing arithmetic calculations
> and creating loops in ConTeXt.
>
> Regards,
> Devendra
>
> MWE:
> --------------------------
> \setupcolor[rgb]
> \definecolor[maroon][r=0.8, g=0.2, b=0.4]
>
> %\definecolorgroup
> %[maroon][rgb]
>    %[0.9:0.6:0.7,
>     %0.8:0.2:0.4,
>     %0.4:0.1:0.2,
>     %0.2:0.05:0.1]
>
> % A macro that generates three shades above and below the given color.
> % It is assumed here that the RGB values are also passed along with
> % the color name.
> \define[4]\generateColorGroup{
>   \definecolorgroup
>    [#1]
>    [#2:#3:#4]
>      %\dimexpr#2/4:#3/4:#4/4]
> }%
> \generateColorGroup{maroon}{0.8}{0.2}{0.4}
> \starttext
>  \showcolor
> \stoptext
> -------------------------------
I see now that this is a trivial question. Though I was not able to
use a loop, I used \ctxlua{context(math expr.)} for floating point
arithmetic.

Devendra




___________________________________________________________________________________
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://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


  reply	other threads:[~2013-01-29 16:02 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-29  8:11 Devendra Ghate
2013-01-29 16:02 ` Devendra Ghate [this message]
2013-01-29 17:10 ` Wolfgang Schuster

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=5107F298.1030609@gmail.com \
    --to=devendra.ghate@gmail.com \
    --cc=ntg-context@ntg.nl \
    /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).