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
|
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Understanding text alignment and anchor point</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="ch08.html" title="Chapter 8. Text and font 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">Understanding text alignment and anchor point</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center">Chapter 8. Text and font handling</th><td width="20%" align="right"> </td></tr></table><hr></div><div class="sect1" title="Understanding text alignment and anchor point"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2498561"></a>Understanding text alignment and anchor point</h2></div></div></div>
<p>When a text string position is specified that screen (or scale) position by
default gets aligned with the top left corner of the strings bounding box. We say
that the top left corner is the <span class="italic">anchor point</span> of the text string. The alignment of the
anchor point can be adjusted with a call to <code class="code">Text::SetAlignment($aHorAlign,
$vertAlign)</code>. The two arguments are given as text strings and the
admissible values for each argument are: </p>
<p>
</p><div class="variablelist"><dl><dt><span class="term">Horizontal alignment</span></dt><dd>
<p><code class="code">'left'</code>, <code class="code">'center'</code>,
<code class="code">'right'</code></p>
</dd><dt><span class="term">Vertical alignment</span></dt><dd>
<p><code class="code">'bottom'</code>, <code class="code">'center'</code> (or
<code class="code">'middle'</code>) , <code class="code">'top'</code></p>
</dd></dl></div><p>
</p>
<div class="caution" title="Caution" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Caution</h3>
<p>Even though from an API perspective both bitmap fonts and TTF fonts share the
same user API the implementation is vastly different. There are a number of
subtle differences in the way built-in bit-map fonts and TrueType fonts are
rendered to the screen. This means for example that the alignment of, say the
bottom of the text string, is not pixel-perfect between bitmap and TrueType
fonts However, JpGraph, abstracts away 99.9% of the differences so it will be,
for all practical uses of the library completely transparent to switch between
the different font types.</p>
</div>
<p>Manually setting the alignment for the anchor point is mostly useful when adding
Text object to the graph to get the wanted alignment. You can see an example of how
the anchor point changes depending on how the combination of alignments are used in <a class="xref" href="ch08s03.html#fig.textalignex1" title="Figure 8.2. Illustration of anchor point alignment (textalignex1.php)">Figure 8.2. Illustration of anchor point alignment <code class="uri"><a class="uri" href="example_src/textalignex1.html" target="_top">(<code class="filename">textalignex1.php</code>)</a></code> </a></p>
<p>
</p><div class="figure"><a name="fig.textalignex1"></a><p class="title"><b>Figure 8.2. Illustration of anchor point alignment <code class="uri"><a class="uri" href="example_src/textalignex1.html" target="_top">(<code class="filename">textalignex1.php</code>)</a></code> </b></p><div class="figure-contents"> <span class="inlinemediaobject"><img src="images/textalignex1.png" alt="Illustration of anchor point alignment (textalignex1.php)"></span> </div></div><p><br class="figure-break">
</p>
<p>
</p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
<p>It might seem strange to have the method name
"<code class="code">SetAlignment()</code>" when it really should make more sense to use
the name "<code class="code">SetAnchor()</code>". We agree. This naming scheme is due to
historical reasons.</p>
</div><p>
</p>
<p>
</p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>
<p>The graph legend box also have an anchor point that is specified as the
3:rd and 4:th argument to Legend::SetPos()</p>
</div><p>
</p>
</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="ch08.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>
|