xcolor v2.11 (2007/01/21)
51
6.3.3 The cmyk model
Conversion cmyk to cmy Based on [1], p. 477, in connection with rgb → cmy
conversion.
cyan := min{1,cyan+black}
(61)
magenta := min{1,magenta +black}
(62)
yellow := min{1,yellow +black}
(63)
Conversion cmyk to gray Source: [1], p. 475.
gray := 1 −min{1,0.3· cyan +0.59· magenta +0.11· yellow +black}
(64)
Complement of cmyk color The simple vector complement does not yield
useful results. Therefore, we first convert C = (cyan,magenta,yellow,black) to
the cmy model, calculate the complement there, and convert back to cmyk.
6.3.4 The hsb model
Conversion hsb to rgb
(red,green,blue) := brightness ·(E −saturation ·F)
(65)
with
i:= ⌊6 ·hue⌋,
f:= 6 ·hue − i
(66)
and
F:=
(0,1 −f,1) if i = 0
(f,0,1)
if i = 1
(1,0,1− f) if i = 2
(1,f,0)
if i = 3
(1−f,1,0) if i = 4
(0,1,f)
if i = 5
(0,1,1)
if i = 6
(67)
This is based on [15], HSV to RGB Algorithm (Hexcone Model), which reads
(slightly reformulated):
m:= 1−saturation
(68)
n:= 1−f · saturation
(69)
k:= 1−(1−f) ·saturation
(70)
(red,green,blue) := brightness·
(1,k,m) if i = 0,6
(n,1,m) if i = 1
(m,1,k) if i = 2
(m,n,1) if i = 3
(k,m,1) if i = 4
(1,m,n) if i = 5
(71)
Pdf metadata editor online - add, remove, update PDF metadata in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# Developers to Read, Add, Edit, Update and Delete PDF Metadata
read pdf metadata java; c# read pdf metadata
Pdf metadata editor online - VB.NET PDF metadata library: add, remove, update PDF metadata in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Enable VB.NET Users to Read, Write, Edit, Delete and Update PDF Document Metadata
pdf metadata; search pdf metadata
xcolor v2.11 (2007/01/21)
52
Note that the case i = 6 (which results from hue = 1) is missing in Smith’s
algorithm. Because of
lim
f→1
(0,1,f) = (0,1,1) = lim
f→0
(0,1 −f,1)
(72)
it is clear that there is only one way to define F for i = 6 in order to get a
continuous function, as shown in equation (67). This has been transformed back
to equation (71). A similar argument shows that F indeed isa continuous function
of hue over the whole range [0,1].
Conversion hsb to Hsb Only the first component has to be changed.
(hue
,saturation,brightness) := (H · hue,saturation,brightness)
(73)
Conversion hsb to HSB As described in section 6.2.1 on page 46.
(Hue,Saturation,Brightness) :=
Γ
M
(hue),Γ
M
(saturation),Γ
M
(brightness)
(74)
Complement of hsb color We have not found a formula in the literature,
therefore we give a short proof afterwards.
Lemma 3. The hsb-complement can be calculated by the following formulas:
hue
:=
hue +
1
2
if hue <
1
2
hue −
1
2
if hue ≥
1
2
(75)
brightness
:= 1 −brightness· (1 −saturation)
(76)
saturation
:=
0
if brightness
=0
brightness ·saturation
brightness
if brightness
= 0
(77)
Proof. Starting with the original color C = (h,s,b), we define color C
=
(h
,s
,b
)by the given formulas, convert both C and C
to the rgb model and
show that
C
rgb
+C
rgb
=b ·(E −s · F) +b
·(E −s
·F
)
!
=E,
(78)
which means that C
rgb
is the complement of C
rgb
. First we note that the pa-
rameters of C
are in the legal range [0,1]. This is obvious for h
,b
. From
b
=1 − b · (1 − s) = 1 − b + b · s we derive b · s = b
−(1 − b) ≤ b
,therefore
s
∈[0,1], and
b
=0 ⇔ s = 0 and b = 1.
Thus, equation (78) holds in the case b = 0. Now we assume b = 0, hence
C
rgb
+C
rgb
=b· (E −s · F) + b
·
E−
b· s
b
·F
=b· E −b ·s · F + b
·E −b· s · F
=E − b· s · (F + F
−E)
C# HTML5 PDF Viewer SDK to view, annotate, create and convert PDF
RasterEdge C#.NET HTML5 PDF Viewer and HTML5 PDF Editor are professional online PDF manipulation tools, which are compatible with both 32-bit and 64-bit
adding metadata to pdf files; add metadata to pdf file
VB.NET PDF- HTML5 PDF Viewer for VB.NET Project
ASP.NET PDF Viewer; VB.NET: ASP.NET PDF Editor; VB.NET to PDF. Image: Remove Image from PDF Page. Image Link: Edit URL. Bookmark: Edit Bookmark. Metadata: Edit, Delete
pdf metadata reader; batch update pdf metadata
xcolor v2.11 (2007/01/21)
53
since b
=1 −b +bs. Therefore, it is sufficient to show that
F+F
=E.
(79)
From
h<
1
2
⇒h
=h +
1
2
⇒6h
=6h +3 ⇒ i
=i+ 3 and f
=f
it is easy to see from (67) that equation (79) holds for the cases i = 0,1,2.
Similarly,
h≥
1
2
⇒h
=h −
1
2
⇒6h
=6h −3 ⇒ i
=i− 3 and f
=f
and again from (67) we derive (79) for the cases i = 3,4,5. Finally, if i = 6 then
f= 0 and F +F
=(0,1,1) + (1,0,0) = E.
6.3.5 The Hsb model
Conversion Hsb to hsb Only the first component has to be changed.
(hue,saturation,brightness) := (hue
/H,saturation,brightness)
(80)
Conversion Hsb to tHsb Under the settings of (82)–(84) we simply have to
exchange the letters x and y in equation (85) to get the inverse transformation:
hue
∈[y
η−1
,y
η
]⇒ hue
:= x
η−1
+
x
η
−x
η−1
y
η
−y
η−1
·(hue
−y
η−1
)
(81)
while saturation and brightness are left unchanged.
6.3.6 The tHsb model
Conversion tHsb to Hsb We assume that \rangeHsb = H and \rangetHsb
\rangeHsb
\rangetHsb
expands to
x
1
,y
1
;x
2
,y
2
;...;x
h−1
,y
h−1
(82)
where
x
0
:= 0 < x
1
<x
2
<··· < x
h−1
<x
h
:= H
(83)
y
0
:= 0 < y
1
<y
2
<··· < y
h−1
<y
h
:= H
(84)
with an integer h > 0. Now the x and y values determine a piecewise linear
transformation:
hue
∈[x
η−1
,x
η
]⇒ hue
:= y
η−1
+
y
η
−y
η−1
x
η
−x
η−1
·(hue
−x
η−1
)
(85)
while saturation and brightness are left unchanged.
6.3.7 The gray model
Conversion gray to rgb Source: [1], p. 474.
(red,green,blue) := gray· E
(86)
C# TIFF: TIFF Metadata Editor, How to Write & Read TIFF Metadata
C# TIFF - Edit TIFF Metadata in C#.NET. Allow Users to Read and Edit Metadata Stored in Tiff Image in C#.NET Application. How to Get TIFF XMP Metadata in C#.NET.
edit pdf metadata; clean pdf metadata
C# HTML5 PDF Viewer SDK to create PDF document from other file
WPF Viewer & Editor. WPF: View PDF. WPF: Annotate PDF. WPF NET edit PDF bookmark, C#.NET edit PDF metadata, C#.NET NET read barcodes from PDF, C#.NET OCR scan PDF
adding metadata to pdf; online pdf metadata viewer
xcolor v2.11 (2007/01/21)
54
Conversion gray to cmy This is derived from the conversion chain gray →
rgb → cmy.
(cyan,magenta,yellow) := (1 −gray) ·E
(87)
Conversion gray to cmyk Source: [1], p. 475.
(cyan,magenta,yellow,black) := (0,0,0,1 −gray)
(88)
Conversion gray to hsb This is derived from the conversion chain gray →
rgb → hsb.
(hue,saturation,brightness) := (0,0,gray)
(89)
Conversion gray to Hsb/tHsb This is derived from the conversion chain
gray → hsb → Hsb, followed by Hsb → tHsb if applicable.
(hue
,saturation,brightness) := (0,0,gray)
(90)
Conversion gray to Gray As described in section 6.2.1 on page 46.
Gray := Γ
N
(gray)
(91)
Complement of gray color This is similar to the rgb case:
gray
:= 1 −gray
(92)
6.3.8 The RGB model
Conversion RGB to rgb As described in section 6.2.2 on page 46.
(red,green,blue) :=
L
(Red),∆
L
(Green),∆
L
(Blue)
(93)
6.3.9 The HTML model
Conversion HTML to rgb As described in section 6.2.2 on page 46: starting
with RRGGBB set
(red,green,blue) :=
255
(RR
dec
),∆
255
(GG
dec
),∆
255
(BB
dec
)
(94)
6.3.10 The HSB model
Conversion HSB to hsb As described in section 6.2.2 on page 46.
(hue,saturation,brightness) :=
M
(Hue),∆
M
(Saturation),∆
M
(Brightness)
(95)
6.3.11 The Gray model
Conversion Gray to gray As described in section 6.2.2 on page 46.
gray := ∆
N
(Gray)
(96)
C# PDF Library SDK to view, edit, convert, process PDF file for C#
HTML5 PDF Editor enable users to edit PDF text, image, page, password and so on. C#.NET: WPF PDF Viewer & Editor. C#.NET: Edit PDF Metadata.
pdf xmp metadata; pdf metadata extract
C# TIFF: TIFF Editor SDK to Read & Manipulate TIFF File Using C#.
Tiff File Processing in C#. Refer to this online tutorial page, you will see: 2. Render text to text, PDF, or Word file. Tiff Metadata Editing in C#.
batch pdf metadata; remove metadata from pdf
xcolor v2.11 (2007/01/21)
55
6.3.12 The wave model
Conversion wave to rgb Source: based on Dan Bruton’s algorithm [4]. Let λ
be a visible wavelength, given in nanometers (nm), i.e., λ ∈ [380,780]. We assume
further that γ > 0 is a fixed number (γ = 0.8 in [4]). First set
(r,g,b) :=
440− λ
440−380
,0,1
if λ ∈ [380,440[
0,
λ−440
490 −440
,1
if λ ∈ [440,490[
0,1,
510− λ
510− 490
if λ ∈ [490,510[
λ−510
580−510
,1,0
if λ ∈ [510,580[
1,
645 −λ
645 −580
,0
if λ ∈ [580,645[
(1,0,0)
if λ ∈ [645,780]
(97)
then, in order to let the intensity fall off near the vision limits,
f:=
0.3 +0.7 ·
λ−380
420 −380
if λ ∈ [380,420[
1
if λ ∈ [420,700]
0.3 +0.7 ·
780−λ
780 −700
if λ ∈ ]700,780]
(98)
and finally
(red,green,blue) :=
(f · r)
γ
,(f · g)
γ
,(f · b)
γ
(99)
The intermediate colors (r,g,b) at the interval borders of equation (97) are well-
known: for λ = 380,440,490,510,580,645 we get magenta, blue, cyan, green,
yellow, red, respectively. These turn out to be represented in the hsb model
by hue =
5
6
,
4
6
,
3
6
,
2
6
,
1
6
,
0
6
, whereas saturation = brightness = 1 throughout the
6colors. Furthermore, these hsb representations are independent of the actual
γ value. Staying within this model framework, we observe that the intensity
fall off near the vision limits — as represented by equation (98) — translates into
decreasing brightness parameters towardsthe margins. A simple calculation shows
that the edges λ = 380,780 of the algorithm yield the colorsmagenta!0.3γ!black,
red!0.3γ!black, respectively. We see no reason why we should not extend these
edges in a similar fashion to end-up with true black on either side. Now we are
prepared to translate everything into another, more natural algorithm.
Conversion wave to hsb Let λ > 0 be a wavelength, givenin nanometers (nm),
and let
̺: IR → [0,1], x →
min{1,max{0,x}})
γ
(100)
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
NET PDF Viewer; VB.NET: ASP.NET PDF Editor; VB.NET Online. |. Home ›› XDoc.PDF ›› VB.NET PDF: View PDF Online. PDF bookmark, C#.NET edit PDF metadata, C#.NET
pdf xmp metadata viewer; delete metadata from pdf
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
C#.NET PDF SDK - Convert PDF to TIFF in C#.NET. Online C# Tutorial for How to Convert PDF File to Tiff Image File with .NET XDoc.PDF Control in C#.NET Class.
edit pdf metadata acrobat; edit pdf metadata online
xcolor v2.11 (2007/01/21)
56
with a fixed correction number γ > 0. Then
hue :=
1
6
·
4+̺
λ−440
380 −440
if λ < 440
4−̺
λ−440
490 −440
if λ ∈ [440,490[
2+̺
λ−510
490 −510
if λ ∈ [490,510[
2−̺
λ−510
580 −510
if λ ∈ [510,580[
0+̺
λ−645
580 −645
if λ ∈ [580,645[
0
if λ ≥ 645
(101)
saturation := 1
(102)
brightness :=
̺
0.3+0.7·
λ− 380
420 −380
if λ < 420
1
if λ ∈ [420,700]
̺
0.3+0.7·
λ− 780
700 −780
if λ > 700
(103)
For the sake of completeness we note that, independent of γ,
(hue,saturation,brightness) =
5
6
,1,0
if λ ≤ 380−
3·(420−380)
7
=362.857...
0,1,0
if λ ≥ 780+
3·(780−700)
7
=814.285...
What isthe best (or, at least, a good) value for γ? In the original algorithm [4], γ =
0.8 is chosen. However, we could not detect significant visible difference between
the cases γ = 0.8 and γ = 1. Thus, for the time being, xcolor’s implementation
uses the latter value whichimplies a pure linear approach. In the pstricks examples
file xcolor2.tex, there is a demonstration of different γ values.
xcolor v2.11 (2007/01/21)
57
References
[1] Adobe Systems Incorporated: “PostScript Language Reference Manual”. Addison-Wesley,
third edition, 1999. http://www.adobe.com/products/postscript/pdfs/PLRM.pdf
[2] Donald Arseneau: “Patch so \fbox draws frame on top of text”. LAT
E
Xbug report,
latex/3655, 2004/03/18.
http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/3655
[3] Donald Arseneau: url package, “2005/06/27 ver 3.2 Verb mode for urls, etc.”.
CTAN/macros/latex/contrib/misc/url.sty
[4] Dan Bruton: “Approximate RGB values for Visible Wavelengths”, 1996.
http://www.physics.sfasu.edu/astro/color/spectra.html
[5] David P. Carlisle: “Packages in the ‘graphics’ bundle”, 2005.
CTAN/macros/latex/required/graphics/grfguide.*
[6] David P. Carlisle: color package, “2005/11/14 v1.0j Standard LAT
E
XColor”.
CTAN/macros/latex/required/graphics/color.dtx
[7] David P. Carlisle: colortbl package, “2001/02/13 v0.1j Color table columns”.
CTAN/macros/latex/contrib/colortbl/
[8] David P. Carlisle, Herbert Voß, Rolf Niepraschk: pstcol package, “2005/11/16 v1.2 LaTeX
wrapper for ‘PSTricks’”. CTAN/macros/graphics/pstricks/latex/pstcol.sty
[9] Uwe Kern: “Chroma: a reference book of LAT
E
Xcolors”. CTAN/info/colour/chroma/ and
http://www.ukern.de/tex/chroma.html
[10] Uwe Kern: xcolor package, “L
A
T
E
Xcolor extensions”.
CTAN/macros/latex/contrib/xcolor/ and http://www.ukern.de/tex/xcolor.html
[11] MiKT
E
XProject: http://www.miktex.org/
[12] Rolf Niepraschk: colorinfo package, “2003/05/04 v0.3c Info from defined colors”.
CTAN/macros/latex/contrib/colorinfo/
[13] Heiko Oberdiek: pdfcolmk package, “2006/02/20 v0.8 PDFtex COLor MarK”.
CTAN/macros/latex/contrib/oberdiek/pdfcolmk.*
[14] Sebastian Rahtz, Heiko Oberdiek: hyperref package, “2006/09/06 v6.75e Hypertext links for
LAT
E
X”. CTAN/macros/latex/contrib/hyperref/
[15] Alvy Ray Smith: “Color Gamut Transform Pairs”. Computer Graphics (ACM SIGGRAPH),
Volume 12, Number 3, August 1978. http://alvyray.com/Papers/PapersCG.htm
[16] World Wide Web Consortium: “HTML4 color keywords”.
http://www.w3.org/TR/css3-color/#html4
[17] World Wide Web Consortium: “Scalable Vector Graphics (SVG) 1.1 Specification — Basic
Data Types and Interfaces”. http://www.w3.org/TR/SVG11/types.html#ColorKeywords
xcolor v2.11 (2007/01/21)
58
Appendix
Acknowledgement
This package is based on and contains code
copied from [6] (Copyright (C) 1994–1999
David P. Carlisle), which is part of the Stan-
dardLAT
E
X‘Graphics Bundle’. Although many
commands and features have been added and
most of the original color commands have been
rewritten or adapted within xcolor, the latter
package would not exist without color. Thus,
the author is grateful to David P. Carlisle
for having created color and its accompanying
files.
Trademarks
Trademarks appear throughout this documen-
tation without any trademark symbol; they
are the property of their respective trademark
owner. There is no intention of infringement;
the usage is to the benefit of the trademark
owner.
Known Issues
• \rowcolors[\hline]... does not work
with longtable.
History
2007/01/21 v2.11
• New features:
– color names lime and teal added to the
set of predefined colors.
• Bugfix:
– incorrect \XC@strip@comma call within
hyperref-related options.
2006/11/28 v2.10
• New features:
– fixinclude option prevents dvips from
explicitly resetting current color to black
before actually inserting an .eps file via
\color{red}\includegraphics{foo}.
• Changes:
– \colorbox and \fcolorbox made robust;
– obsolete package option pst removed;
– several changes to internal macros.
• Bugfixes:
– incorrect processing of cmyk-type
current color ‘.’.
2005/12/21 v2.09
• New features:
– \definecolor and \color now accept
space-separated color specifications, e.g.,
\color [rgb]{1 .5 0};
– experimental xcdraw option extended to
pdftex and dvipdfm drivers.
• Changes:
– test file xcolor2.tex made compatible
with recent changes in pstricks;
– test file xcolor3.tex extended;
– driver test file xcolor4.tex extended to
demonstrate the different frame drawing
approaches;
– more efficient implementation of
driver-specific code.
2005/11/25 v2.08
• New features:
– more flexibility for \fcolorbox
arguments, e.g., \fcolorbox
[gray]{0.5}[wave]{580}{test};
– \boxframe returns a frame of given
dimensions;
– new implementation of \f(rame)box and
\fcolorbox as an extension of bug
report latex/3655 to reduce pixel
positioning errors in output devices;
– kernelfbox option for those who prefer
the previous \f(rame)box approach;
– experimental xcdraw option uses
PostScript commands to draw frames
and color boxes in case of dvips.
• Bugfixes:
– insufficient expression type detection
within \colorlet;
xcolor v2.11 (2007/01/21)
59
– wrong calculation in the unit interval
reduction for negative integers (affecting
color series and extended color
expressions).
2005/11/12 v2.07
• New features:
– color model Hsb allows to specify hue in
degrees;
– color model tHsb (tuned Hsb) for
user-defined hue configuration on color
wheels;
– easy generation of color harmonies
derived from Hsb or tHsb color wheels,
e.g., \color{red>wheel,1,12} yields an
‘analogous’ color to red on a 12-spoke
wheel;
– additional 317 predefined color names
according to rgb.txt, which is part of
Unix/X11 distributions;
– svgnames option extended by 4 colors
taken from rgb.txt;
– enhanced syntax for immediate
conversion, e.g., \definecolor
{foo}{rgb:gray}{0.3} or \color
[rgb:wave]{478};
– \@ifundefinedcolor and
\@ifundefinedmodel commands;
• Changes:
– enhanced documentation;
– several changes to internal macros.
• Bugfixes:
– wrong calculation of color series
components in some cases of negative
step parameters.
2005/10/15 v2.06
• New features:
– color model wave for (approximate)
visualisation of light wavelengths, still
somewhat experimental;
– pseudo-model ‘ps’ for colors defined by
literal PostScript code in conjunction
with pstricks and dvips; an illustrative
example for a γ-correction approach is
given in xcolor2.tex;
– \substitutecolormodel command for
replacement of missing or faulty
driver-specific color models;
– improved detection and handling of
driver-specific color models;
– dvipdfmx and xetex options to support
these drivers;
– generic driver test file xcolor4.tex.
• Changes:
– \XC@strip@comma doesn’t generate a
trailing space anymore, which improves
also the output of the testcolors
environment.
2005/09/30 v2.05
• New features:
– testcolors environment helps to test
colors in different models, showing both
the visual result and the model-specific
parameters;
– \extractcolorspecs puts model/color
specification into two separate
commands, as opposed to
\extractcolorspec;
– color names pink and olive added to the
set of predefined colors.
• Bugfixes:
– \definecolor{foo}{named}{bar} did
not work in v2.04.
2005/09/23 v2.04
• New features:
– preparation for usage of additional –
driver-provided – color models;
– pstricks users may now specify explicit
color parameters within \psset and
related commands, e.g.,
\psset{linecolor=[rgb]{1,0,0}}; an
illustrative example is given in
xcolor2.tex.
• Changes:
– color model names sanitized (i.e., turned
to catcode 12) throughout the package;
xcolor v2.11 (2007/01/21)
60
– \@namelet command deprecated because
of name clash with memoir — please use
\XC@let@cc instead (more \XC@let@..
commands are available as well);
– simplified color conversion code by using
the new \XC@ifxcase command;
– some minor changes to internal macros.
2005/06/06 v2.03
• New features:
– fixpdftex option loads pdfcolmk
package in order to improve pdfT
E
X’s
color behaviour during page breaks.
• Changes:
– some minor changes to internal macros.
• Bugfixes:
– due to an incorrect \if statement within
\XC@info, \colorlet caused trouble
whenever its second argument started
with two identical letters, e.g.,
\colorlet{rab}{oof};
– argument processing of \XC@getcolor
caused incompatibility with msc package;
– prologue option caused incompatibility
with preview package.
2005/03/24 v2.02
• New features:
– \aftergroupedef command to
reproduce \aftergroupdef’s behaviour
prior to v2.01;
– xcolor’s homepage
www.ukern.de/tex/xcolor.html now
provides also a ready-to-run
TDS-compliant archive containing all
required files.
• Changes:
– \rowcolors and friends are solely
enabled by the table option;
– \@ifxempty changed back to more
robust variant of v2.00.
• Bugfixes:
– \psset{linecolor=\ifcase\foo
red\or green\or blue\fi} did not
work with pstricks (error introduced in
v2.01).
2005/03/15 v2.01
• New features:
– prologue option for comprehensive
‘named’ color support in conjunction
with dvips: on-the-fly generation of
PostScript prologue files with all color
definitions, ready for dvips inclusion
and/or post-processing with
device-specific parameters (e.g., spot
colors);
– dvips prologue file xcolor.pro to
support additional ‘named’ colors;
– \colorlet may now also be used to
create named colors from arbitrary color
expressions;
– enhanced color definition syntax to allow
for target-model specific color
parameters, e.g., \definecolor
{red}{rgb/cmyk}{1,0,0/0,1,1,0},
facilitating the usage of tailor-made
colors both for displays and printers;
– ‘deferred definition’ of colors:
\preparecolor and \definecolors
enable decoupling of color specification
and control sequence generation,
especially useful (= memory saving) for
large lists of colors, of which only a few
names are actually used;
– dvipsnames* and svgnames* options to
support deferred definition.
• Changes:
– higher accuracy: most complement
calculations are now exact for all 5-digit
decimals;
– \rangeRGB and similar variables may now
be changed at any point in a document;
– \aftergroupdef now performs only a
first-level expansion of its code argument;
– \XCfileversion and similar internal
constants removed from .sty and .def
files;
– improved memory management (reduced
generation of ‘multiletter control
sequences’ by \@ifundefined tests);
– several internal macros improved and/or
renamed.
Documents you may be interested
Documents you may be interested