Blame view

site/jpgraph/docs/chunkhtml/ch07s04.html 10.4 KB
d72ac078   Guillaume   Ajout graphe V1.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
  <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Fine tuning the color</title><link rel="stylesheet" type="text/css" href="manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.0"><link rel="home" href="index.html" title="JpGraph Manual"><link rel="up" href="ch07.html" title="Chapter 7. Color handling"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Fine tuning the color</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center">Chapter 7. Color handling</th><td width="20%" align="right"> </td></tr></table><hr></div><div class="sect1" title="Fine tuning the color"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2496338"></a>Fine tuning the color</h2></div></div></div>
              
              <div class="sect2" title="Specifying the alpha channel (color transparency)"><div class="titlepage"><div><div><h3 class="title"><a name="sec2.alpha-channel"></a>Specifying the alpha channel (color transparency)</h3></div></div></div>
                  
                  <p>Colors can also be made semi-transparent by specifying a transparency value
                      (or as it is also known an <span class="italic">alpha channel value</span>). This will instruct the
                      library to mix the foreground color with a certain amount of the background
                      colors creating a "shine-through" effect.</p>
                  <p>The alpha channel is specified as a real number in the range [0.0, 1.0] where
                      0.0 means no transparency and 1.0 means full transparency (i.e. only the
                      background color is shown). The transparency is added as a postfix to the color
                      specification separated by a '@' (at) character. It is often most used with area
                      fills (i.e. when using <code class="code">SetFillColor()</code>)</p>
                  <p>For example the following are valid alpha channel modifiers</p>
                  <p>
                      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
                              <p><code class="code">SetFillColor('red@0.2')</code>, A slightly transparent red
                                  color</p>
                          </li><li class="listitem">
                              <p><code class="code">SetFillColor('red@0.8')</code>, An almost completely
                                  transparent color</p>
                          </li></ul></div><p>
                  </p>
                  <p>The result of using different alpha modifiers are shown in <a class="xref" href="ch07s04.html#fig.alpha-channel" title="Figure 7.1. Using alpha channel modifiers">Figure 7.1. Using alpha channel modifiers</a> where the blue color is made more and more
                      transparent to allow the red bar in the background to become more and more
                      visible.</p>
                  <p>
                      </p><div class="figure"><a name="fig.alpha-channel"></a><p class="title"><b>Figure 7.1. Using alpha channel modifiers</b></p><div class="figure-contents">
                          
                          <div class="mediaobject"><img src="images/alpha-channel.png" alt="Using alpha channel modifiers"></div>
                      </div></div><p><br class="figure-break">
                  </p>
                  <p>As a final example of how to use transparency we show a graph in <a class="xref" href="ch07s04.html#fig.barlinealphaex1" title="Figure 7.2. Making use of transparency to combine two plots (barlinealphaex1.php)">Figure 7.2. Making use of transparency to combine two plots <code class="uri"><a class="uri" href="example_src/barlinealphaex1.html" target="_top">(<code class="filename">barlinealphaex1.php</code>)</a></code> </a> that uses transparency to allow an area
                      plot to be mixed with a bar graph.</p>
                  <p>
                      </p><div class="figure"><a name="fig.barlinealphaex1"></a><p class="title"><b>Figure 7.2. Making use of transparency to combine two plots <code class="uri"><a class="uri" href="example_src/barlinealphaex1.html" target="_top">(<code class="filename">barlinealphaex1.php</code>)</a></code> </b></p><div class="figure-contents">  <span class="inlinemediaobject"><img src="images/barlinealphaex1.png" alt="Making use of transparency to combine two plots (barlinealphaex1.php)"></span> </div></div><p><br class="figure-break">
                  </p>
                  <div class="tip" title="Tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Tip</h3>
                      <p>For all graph examples shown in this manual you can always click on the
                          file name in the title of the graph to view the actual source that created
                          the graph.</p>
                  </div>
              </div>
              <div class="sect2" title="Adjusting the brightness"><div class="titlepage"><div><div><h3 class="title"><a name="id2496356"></a>Adjusting the brightness</h3></div></div></div>
                  
                  <p>Since all colors that can be displayed on a computer can be modeled with the
                      appropriate RGB triple the above ways will allow you to specify any colors you
                      might need. However, conceptually it might be easier to think of colors in terms
                      of "a light blue" instead of a modified RGB triple so the library allows you to
                      take a basic color and apply a brightness correction factor.</p>
                  <p>The brightness factor is a postfix to the color string separated from the core
                      color with a ':' (colon) character. The brightness factor is a real number in
                      the range of [0.0, 2.0]. Using a brightness factor of 0.0 means that the color
                      will be black (no brightness at all) and a factor of 2.0 means that the color is
                      white (maximum brightness). Using a factor of 1 will leave the original color
                      untouched.</p>
                  <p>The brightness factor can be specified for named and HTML colors, see <a class="xref" href="ch07s04.html#fig.orange-scale" title="Figure 7.3. Adjusting brightness of named color specifier">Figure 7.3. Adjusting brightness of named color specifier</a> and <a class="xref" href="ch07s04.html#fig.blueish-scale" title="Figure 7.4. Adjusting brightness of a HTML color specifier">Figure 7.4. Adjusting brightness of a HTML color specifier</a> for more examples how the factor adjusts
                      the color.</p>
                  <p>For example, the following code snippets show valid color brightness
                      modifiers</p>
                  <p>
                      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
                              <p><code class="code">SetColor('red:0.8');</code>, A slightly darker red
                                  color</p>
                          </li><li class="listitem">
                              <p><code class="code">SetColor('red:1.5');</code>, A brighter red color</p>
                          </li><li class="listitem">
                              <p><code class="code">SetColor('#3485a9:1.8);</code>, A bright blue-greenish
                                  color</p>
                          </li></ul></div><p>
                  </p>
                  <div class="figure"><a name="fig.orange-scale"></a><p class="title"><b>Figure 7.3. Adjusting brightness of named color specifier</b></p><div class="figure-contents">
                      
                      <div class="mediaobject"><img src="images/orange-scale.png" alt="Adjusting brightness of named color specifier"></div>
                  </div></div><br class="figure-break">
                  <div class="figure"><a name="fig.blueish-scale"></a><p class="title"><b>Figure 7.4. Adjusting brightness of a HTML color specifier</b></p><div class="figure-contents">
                      
                      <div class="mediaobject"><img src="images/blueish-scale.png" alt="Adjusting brightness of a HTML color specifier"></div>
                  </div></div><br class="figure-break">
                  <div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
                      <p>The brightness factor is a purely linear factor but due to the human eyes
                          non-linear sensitivity for colors the perceived difference between (for
                          example) "<code class="code">red:1.1</code>" and "<code class="code">red:1.2</code>" than between
                              "<code class="code">red:0.2</code>" and "<code class="code">red:0.3</code>" even though the
                          relative difference is the same.</p>
                  </div>
              </div>
              <div class="sect2" title="Combining brightness and transparency adjustment"><div class="titlepage"><div><div><h3 class="title"><a name="id2496665"></a>Combining brightness and transparency adjustment</h3></div></div></div>
                  
                  <p>It is also possible to combine the two previous discussed modifiers. This is
                      done by first adding the transparency specifier and then the brightness
                      adjustment as the following examples demonstrates.</p>
                  <p>
                      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
                              <p><code class="code">SetColor('red@0.7:1.2')</code>, A highly transparent
                                  slightly bright red color</p>
                          </li><li class="listitem">
                              <p><code class="code">SetFillColor('#4545aa@0.3:1.5')</code>, A bright blueish
                                  semi transparent color</p>
                          </li></ul></div><p>
                  </p>
              </div>
          </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"><a accesskey="u" href="ch07.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>