Difference between revisions of "Command/definecolor"

From Wiki
Jump to navigation Jump to search
(fixed number parameters)
m (Reverted edits by Garulfo (talk) to last revision by Hraban)
Tag: Rollback
 
(33 intermediate revisions by 7 users not shown)
Line 4: Line 4:
 
}}
 
}}
  
 +
== [[Help:Reference|Syntax]] (autogenerated) ==
 +
<syntax>definecolor</syntax>
 
== [[Help:Reference|Syntax]] ==
 
== [[Help:Reference|Syntax]] ==
 
<table cellspacing="4" cellpadding="2" class="cmd">
 
<table cellspacing="4" cellpadding="2" class="cmd">
Line 14: Line 16:
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:r|r]]</td>
+
     <td class="cmd">[[Command/keyword:r|r]]</td>
     <td>[[Reference/en/value:number|number]] red channel (RGB)</td>
+
     <td>[[Command/value:number|number]] red channel (RGB)</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:g|g]]</td>
+
     <td class="cmd">[[Command/keyword:g|g]]</td>
     <td>[[Reference/en/value:number|number]] green channel (RGB)</td>
+
     <td>[[Command/value:number|number]] green channel (RGB)</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:b|b]]</td>
+
     <td class="cmd">[[Command/keyword:b|b]]</td>
     <td>[[Reference/en/value:number|number]] blue channel (RGB)</td>
+
     <td>[[Command/value:number|number]] blue channel (RGB)</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:c|c]]</td>
+
     <td class="cmd">[[Command/keyword:c|c]]</td>
     <td>[[Reference/en/value:number|number]] cyan channel (CMYK)</td>
+
     <td>[[Command/value:number|number]] cyan channel (CMYK)</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:m|m]]</td>
+
     <td class="cmd">[[Command/keyword:m|m]]</td>
     <td>[[Reference/en/value:number|number]] magenta channel (CMYK)</td>
+
     <td>[[Command/value:number|number]] magenta channel (CMYK)</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:y|y]]</td>
+
     <td class="cmd">[[Command/keyword:y|y]]</td>
     <td>[[Reference/en/value:number|number]] yellow channel (CMYK)</td>
+
     <td>[[Command/value:number|number]] yellow channel (CMYK)</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:k|k]]</td>
+
     <td class="cmd">[[Command/keyword:k|k]]</td>
     <td>[[Reference/en/value:number|number]] black channel (CMYK)</td>
+
     <td>[[Command/value:number|number]] black channel (CMYK)</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:s|s]]</td>
+
     <td class="cmd">[[Command/keyword:s|s]]</td>
     <td>[[Reference/en/value:number|number]]] Gray value (Grayscale)</td>
+
     <td>[[Command/value:number|number]] gray value (Grayscale), if v isn't set</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:s|s]]</td>
+
     <td class="cmd">[[Command/keyword:h|h]]</td>
     <td>[[Reference/en/value:number|number]] Saturation (HSB)</td>
+
     <td>[[Command/value:number|number]] hue (HSB/HWB, 0–360)</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:v|v]]</td>
+
     <td class="cmd">[[Command/keyword:s|s]]</td>
     <td>[[Reference/en/value:number|number]] Brightness/Value (HSB)</td>
+
     <td>[[Command/value:number|number]] saturation (HSB)</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:t|t]]</td>
+
     <td class="cmd">[[Command/keyword:v|v]]</td>
     <td>[[Reference/en/value:number|number]] transparency factor</td>
+
     <td>[[Command/value:number|number]] brightness/value (HSB), blackness (HWB)</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:a|a]]</td>
+
     <td class="cmd">[[Command/keyword:w|w]]</td>
     <td>[[Reference/en/value:number|number]] alternative (transparency method? use 1)</td>
+
     <td>[[Command/value:number|number]] whiteness (HWB)</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:p|p]]</td>
+
     <td class="cmd">[[Command/keyword:t|t]]</td>
     <td>[[Reference/en/value:number|number]] spotcolor percentage</td>
+
     <td>[[Command/value:number|number]] transparency factor</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:e|e]]</td>
+
     <td class="cmd">[[Command/keyword:a|a]]</td>
     <td>[[Reference/en/value:text|text]] spotcolor name</td>
+
     <td>[[Command/value:number|number]] alternative (transparency method)</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top" class="second">
 
   <tr valign="top" class="second">
     <td class="cmd">[[Reference/en/keyword:x|x]]</td>
+
     <td class="cmd">[[Command/keyword:p|p]]</td>
     <td>[[Reference/en/value:text|text]] Hexadecimal RGB value (like in HTML)</td>
+
    <td>[[Command/value:number|number]] spotcolor percentage</td>
 +
  </tr>
 +
  <tr valign="top" class="second">
 +
    <td class="cmd">[[Command/keyword:e|e]]</td>
 +
    <td>[[Command/value:text|text]] spotcolor name</td>
 +
  </tr>
 +
  <tr valign="top" class="second">
 +
    <td class="cmd">[[Command/keyword:x|x]]</td>
 +
     <td>[[Command/value:text|text]] Hexadecimal RGB value (like in HTML)</td>
 
   </tr>
 
   </tr>
 
</table>
 
</table>
 
  
 
== Description ==  
 
== Description ==  
Line 80: Line 89:
 
<code>\color</code> command.  
 
<code>\color</code> command.  
  
To use hexadecimal colors in mkii you need to load the proper module first:
+
 
 +
===Hex colors in MkII===
 +
To use hexadecimal colors in MkII you need to load the proper module first:
  
 
<texcode>
 
<texcode>
Line 88: Line 99:
 
Then the colors can be specified with
 
Then the colors can be specified with
 
<texcode>
 
<texcode>
\definecolor[hex-red][h=FF0000]
+
\definecolor[hex-red][h=FF0000] % it’s h instead of x in MkII
 +
</texcode>
 +
 
 +
===Transparency===
 +
 
 +
Regarding the key {{code|a}}, which means transparency alternative method, there are a certain number of values (actually at least 13, from 0 to 12) whose meanings can be seen from below:
 +
 
 +
<texcode>
 +
\definetransparency [none]        [0]
 +
\definetransparency [normal]      [1]
 +
\definetransparency [multiply]    [2]
 +
\definetransparency [screen]      [3]
 +
\definetransparency [overlay]    [4]
 +
\definetransparency [softlight]  [5]
 +
\definetransparency [hardlight]  [6]
 +
\definetransparency [colordodge]  [7]
 +
\definetransparency [colorburn]  [8]
 +
\definetransparency [darken]      [9]
 +
\definetransparency [lighten]    [10]
 +
\definetransparency [difference] [11]
 +
\definetransparency [exclusion]  [12]
 +
</texcode>
 +
 
 +
=== Defining derivative colors ===
 +
 
 +
Colors defined in terms of other colors are processed at the Lua end, unless they are direct clones. In that case, the new name is never told to Lua. That means that this does not work:
 +
 
 +
<texcode>
 +
% direct clone, processed by TeX
 +
\definecolor[ColorA][red]
 +
% fails, ColorA not known to Lua
 +
\definecolor[ColorB][.5(ColorA)]
 +
</texcode>
 +
 
 +
Writing it as a fake fraction works.
 +
 
 +
<texcode>
 +
% definition involves a fraction, processed by Lua.
 +
\definecolor[ColorA][1.0(red)]
 +
% succeeds
 +
\definecolor[ColorB][.5(ColorA)]
 
</texcode>
 
</texcode>
  
 
== Example ==
 
== Example ==
<!-- Please fill in an example if you can -->
+
<context source=yes mode=mkiv>
 +
% rgb
 +
\definecolor[bluu][r=.25, g=.1, b=1]
 +
Hey, \color[bluu]{look at that!}
 +
 
 +
% hex
 +
\definecolor[salmon][x=AB5757]
 +
Hey, \color[salmon]{look at that!}
 +
 
 +
\definecolor[brightorange][c=0, m=.4325, y=.9286, k=.0118]
 +
Hey, \color[brightorange]{orange you glad I didn't say banana?}
 +
 
 +
\definecolor[darknavy][c=.9753, m=.4444, y=0, k=.6824]
 +
Hey, \color[darknavy]{is this dark navy?}
 +
</context>
  
 
== See also ==
 
== See also ==
<!-- something like [[cmd:goto|\goto]] -->
+
* [[Color]]
[[Colors]]
+
* {{cmd|definetransparency}}
 +
 
 +
== Help from ConTeXt-Mailinglist/Forum ==
 +
All issues with:
 +
{{Forum|{{SUBPAGENAME}}}}
  
[[Category:Reference/en|definecolor]]
+
[[Category:Command/Colors|definecolor]]

Latest revision as of 13:46, 8 June 2020

\definecolor

Syntax (autogenerated)

\definecolor[...][...=...,...]
[...]name
rnumber
gnumber
bnumber
cnumber
mnumber
ynumber
knumber
hnumber
snumber
vnumber
wnumber
xnumber
anumber none normal multiply screen overlay softlight hardlight colordodge colorburn darken lighten difference exclusion hue saturation color luminosity
tnumber


\definecolor[...][...]
[...]name
[...]color


Syntax

\definecolor[...][...,...=...,...]
[...] name
r number red channel (RGB)
g number green channel (RGB)
b number blue channel (RGB)
c number cyan channel (CMYK)
m number magenta channel (CMYK)
y number yellow channel (CMYK)
k number black channel (CMYK)
s number gray value (Grayscale), if v isn't set
h number hue (HSB/HWB, 0–360)
s number saturation (HSB)
v number brightness/value (HSB), blackness (HWB)
w number whiteness (HWB)
t number transparency factor
a number alternative (transparency method)
p number spotcolor percentage
e text spotcolor name
x text Hexadecimal RGB value (like in HTML)

Description

\definecolor associates a name with a color, for later use with the \color command.


Hex colors in MkII

To use hexadecimal colors in MkII you need to load the proper module first:

\setupcolor[hex]

Then the colors can be specified with

\definecolor[hex-red][h=FF0000] % it’s h instead of x in MkII

Transparency

Regarding the key a, which means transparency alternative method, there are a certain number of values (actually at least 13, from 0 to 12) whose meanings can be seen from below:

\definetransparency [none]        [0]
\definetransparency [normal]      [1]
\definetransparency [multiply]    [2]
\definetransparency [screen]      [3]
\definetransparency [overlay]     [4]
\definetransparency [softlight]   [5]
\definetransparency [hardlight]   [6]
\definetransparency [colordodge]  [7]
\definetransparency [colorburn]   [8]
\definetransparency [darken]      [9]
\definetransparency [lighten]    [10]
\definetransparency [difference] [11]
\definetransparency [exclusion]  [12]

Defining derivative colors

Colors defined in terms of other colors are processed at the Lua end, unless they are direct clones. In that case, the new name is never told to Lua. That means that this does not work:

% direct clone, processed by TeX
\definecolor[ColorA][red]
% fails, ColorA not known to Lua
\definecolor[ColorB][.5(ColorA)]

Writing it as a fake fraction works.

% definition involves a fraction, processed by Lua.
\definecolor[ColorA][1.0(red)]
% succeeds
\definecolor[ColorB][.5(ColorA)]

Example

% rgb
\definecolor[bluu][r=.25, g=.1, b=1]
Hey, \color[bluu]{look at that!}

% hex
\definecolor[salmon][x=AB5757]
Hey, \color[salmon]{look at that!}

\definecolor[brightorange][c=0, m=.4325, y=.9286, k=.0118]
Hey, \color[brightorange]{orange you glad I didn't say banana?}

\definecolor[darknavy][c=.9753, m=.4444, y=0, k=.6824]
Hey, \color[darknavy]{is this dark navy?}

See also

Help from ConTeXt-Mailinglist/Forum

All issues with: