amardaxini-ruby-gd 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,83 @@
1
+ = Installation Guide
2
+
3
+ == Requirements
4
+
5
+ Ruby/GD requires version 1.6.0 or later of the gd library, and
6
+ Ruby-1.4.0 or later.
7
+
8
+ The latest version of gd is available from:
9
+ http://www.boutell.com/gd/
10
+
11
+ The latest version of Ruby is available from:
12
+ http://www.ruby-lang.org/
13
+
14
+ To build the extension library, at least the following libraries
15
+ must be correctly installed in your system.
16
+
17
+ * libpng
18
+ * zlib
19
+
20
+ = Install
21
+
22
+ 1. To generate the Makefile with which Ruby/GD is build, issue this
23
+ command from your prompt:
24
+
25
+ ruby extconf.rb [options...]
26
+
27
+ The following options can be specified:
28
+
29
+ * --with-xpm
30
+
31
+ If your gd has support for XPM format images, add this option. Note
32
+ that libX11 and libXpm must be correctly installed in your system.
33
+
34
+ * --with-ttf
35
+
36
+ If your gd has support for TrueType fonts, add this option. Note that
37
+ Freetype library must be correctly installed in your system.
38
+
39
+ * --with-freetype
40
+
41
+ If you want use the newest feature of font rendering provided by
42
+ gd-1.8.4, add this option along with '--with-ttf'.
43
+ Note that Freetype library must be correctly installed in your system.
44
+
45
+ * --with-jpeg
46
+
47
+ If your gd has support for JPEG format images, add this option. Note that
48
+ libjpeg-6b or later must be correctly installed in your system.
49
+
50
+ * --with-gd-include=[dir], --with-gd-lib=[dir]
51
+
52
+ You can specify explicitly the location in which gd library is
53
+ installed.
54
+
55
+ EXAMPLE
56
+ the case libgd.a and header files exist in "/home/foo/gd-1.8.4":
57
+
58
+ $ ruby extconf.rb --with-gd-include=/home/foo/gd-1.8.4 --with-gd-lib=/home/foo/gd-1.8.4
59
+
60
+ * --enable-gd2_0
61
+
62
+ If you want to use the newest features (support for truecolor
63
+ images, alpha channels, etc.) provided by gd-2.0.x from Ruby/GD,
64
+ add this option. gd-2.0.x must be correctly installed on your system.
65
+
66
+ 2. Build the extension library
67
+
68
+ issue this command:
69
+
70
+ $ make
71
+
72
+ If successful, the library named "GD.so" is generated.
73
+
74
+ 3. Install in your system
75
+
76
+ type (if needed, as superuser)
77
+
78
+ # make install
79
+ or,
80
+ # make site-install
81
+
82
+ and GD.so will be correctly installed in your system. This finishes
83
+ the installation.
@@ -0,0 +1,91 @@
1
+ = Ruby/GD �Υ��󥹥ȡ�����ˡ
2
+
3
+ == ɬ�פʥ饤�֥��γ�ǧ
4
+
5
+ �ޤ������Ȥ���gd�饤�֥���version���ǧ���Ʋ�������Ruby/GD���������
6
+ �ˤ�PNG�����Ϥ���ǽ��gd-1.6.0�ʾ夬ɬ�פǤ����ޤ���Ruby��1.4�ʾ�����
7
+ ���Ʋ�������
8
+
9
+ �ǿ��Ǥ�gd�饤�֥��ϼ���Web�����Ȥ������ꤹ�뤳�Ȥ��Ǥ��ޤ���
10
+ http://www.boutell.com/gd/
11
+ �����Ǥ�gd�饤�֥��κ�����ˡ�ˤĤ��ƤϽҤ٤ޤ��󡥤��ξܺ٤�ź�դ���
12
+ �Ƥ���Makefile���ɤ�Dz�������
13
+
14
+ Ruby�κǿ��Ǥϼ���Web�����Ȥ������ꤹ�뤳�Ȥ��Ǥ��ޤ���
15
+ http://www.ruby-lang.org/
16
+
17
+ �Ǿ���ɬ�פʳ����饤�֥��ϼ����̤�Ǥ���
18
+
19
+ PNG�饤�֥��(libpng)��zlib�饤�֥��
20
+
21
+ == ���󥹥ȡ���
22
+
23
+ 1. ��ĥ�饤�֥������Ѥ�Makefile��������롥
24
+
25
+ �ץ���ץȤ���
26
+
27
+ $ ruby extconf.rb [options...]
28
+
29
+ ���ǤäƤ���������
30
+
31
+ [options...] �ˤϰʲ��Υ��ץ�������ꤹ�뤳�Ȥ��Ǥ��ޤ���
32
+
33
+ * --with-xpm
34
+
35
+ ���Ȥ��� gd �� version 1.7�ʾ�ǡ�Xpm �ե����뤫������Ϥ򥵥ݡ��Ȥ�
36
+ �Ƥ���ʤ�С����Υ��ץ������ղä��Ʋ�������X11�饤�֥�ꡤXpm�饤��
37
+ ��꤬���������󥹥ȡ��뤵��Ƥ���ɬ�פ�����ޤ���
38
+
39
+ * --with-ttf
40
+
41
+ ���Ȥ��� gd �� TrueType�ե���Ȥμ�갷���򥵥ݡ��Ȥ��Ƥ���ʤ�С���
42
+ �Υ��ץ������ղä��Ʋ�������Freetype�饤�֥�꤬���������󥹥ȡ��뤵
43
+ ��Ƥ���ɬ�פ�����ޤ���
44
+
45
+ * --with-freetype
46
+
47
+ gd-1.8.4 ���顢TruetType�ե���Ȥ��Ѥ�����ˡ�FreeType 2.x ������
48
+ ���������٤�ʸ��������褬��ǽ�Ȥʤ�ޤ�����
49
+ ���ε�ǽ�����Ѥ�����ˤϡ�'--with-ttf' ���ץ����ȤȤ�ˡ�
50
+ ���Υ��ץ������ɲä��Ʋ�������
51
+ FreeType 2.x �饤�֥�꤬���������󥹥ȡ��뤵�졢gd �����Υ饤�֥���
52
+ ��󥯤���Ƥ���ɬ�פ�����ޤ���
53
+
54
+ * --with-jpeg
55
+
56
+ ���Ȥ��� gd �� version 1.8 �ʾ�ǡ�Jpeg�ե����뤫��������Ϥ��б�����
57
+ ����ʤ�С����Υ��ץ������ղä��Ʋ�������libjpeg-6b�ʹߤ�����������
58
+ ���ȡ��뤵��Ƥ���ɬ�פ�����ޤ���
59
+
60
+ * --with-gd-include=[dir], --with-gd-lib=[dir]
61
+
62
+ gd.h��libgd.a����¸�ߤ�����򤳤�2�Ĥˤ�ä�����Ū�˻��ꤹ�뤳�Ȥ��
63
+ ��ޤ���
64
+
65
+ ��)
66
+ /home/foo/gd-1.8.3 ��libgd.a��إå��ե����뤬������
67
+ $ ruby extconf.rb --with-gd-include=/home/foo/gd-1.8.3 --with-gd-lib=/home/foo/gd-1.8.3
68
+
69
+ * --enable-gd2_0
70
+
71
+ gd-2.0.x�Ǥϡ�TrueColor���᡼���䡢����ե�����ͥ��Ŭ�ڤ˰�
72
+ �������¿���ε�ǽ���ɲä���Ƥ��ޤ���Ruby/GD���餳���ε�ǽ�����Ѥ������
73
+ ���Υ��ץ������ղä��Ʋ�������gd-2.0.x �����������󥹥ȡ��뤵��Ƥ���
74
+ ɬ�פ�����ޤ���
75
+
76
+ 2. ��ĥ�饤�֥���������롥
77
+
78
+ �ץ���ץȤ���
79
+
80
+ $ make
81
+
82
+ ���ǤäƤ����������ӥ�ɤ���������� "GD.so" ����������ޤ���
83
+
84
+ 3. ���󥹥ȡ���
85
+
86
+ # make install
87
+ �ޤ���
88
+ # make site-install
89
+
90
+ ���ǤƤС���ĥ�饤�֥��Υ��󥹥ȡ��뤬��λ���ޤ��������ѡ��桼����
91
+ ���¤�ɬ�פ��⤷��ޤ���
@@ -0,0 +1,891 @@
1
+ <?xml version="1.0" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "DTD/xhtml1-strict.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <title>manual</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label:0" id="label:0">Ruby/GD Version 0.7.4</a></h1><!-- RDLabel: "Ruby/GD Version 0.7.4" -->
11
+ <p>Ruby extension library for using Thomas Boutell's gd
12
+ library(http://www.boutell.com/gd/).</p>
13
+ <p>Originally written by Yukihiro Matsumoto (matz@ruby-lang.org)</p>
14
+ <p>Current maintainer: Ryuichi Tamura (tam@kais.kyoto-u.ac.jp)</p>
15
+ <p><em> If gd-2.0.x is installed in your system, and Ruby/GD is compiled
16
+ with <code>--enable-gd2_0</code> option, you can use those constants or
17
+ methods described in the subsection "gd-2.0.0 or higher"</em></p>
18
+ <h2><a name="label:1" id="label:1">Module/Class Hierarchy</a></h2><!-- RDLabel: "Module/Class Hierarchy" -->
19
+ <pre>GD -+
20
+ |
21
+ +- GD::Image
22
+ |
23
+ +- GD::Polygon
24
+ |
25
+ +- GD::Font</pre>
26
+ <h1><a name="label:2" id="label:2">Module GD</a></h1><!-- RDLabel: "Module GD" -->
27
+ <p>Module that defines some constants refered by GD::Image or GD::Polygon
28
+ instances.</p>
29
+ <h2><a name="label:3" id="label:3">Constants</a></h2><!-- RDLabel: "Constants" -->
30
+ <dl>
31
+ <dt><a name="label:4" id="label:4"><code>GD::Brushed</code></a><!-- RDLabel: "GD::Brushed" -->
32
+ </dl>
33
+ <p>If this constant is used as the color when invoking a line-drawing
34
+ method such as <a href="#label:67">GD::Image#line</a> or <a href="#label:69">GD::Image#rectangle</a>, the
35
+ line to be drawn is the brush image that has been set with
36
+ <a href="#label:70">GD::Image#setBrush</a>.</p>
37
+ <dl>
38
+ <dt><a name="label:5" id="label:5"><code>GD::Styled</code></a><!-- RDLabel: "GD::Styled" -->
39
+ </dl>
40
+ <p>If this constant is used as the color when invoking a line-drawing
41
+ method such as <a href="#label:67">GD::Image#line</a> or <a href="#label:69">GD::Image#rectangle</a>, the
42
+ colors of the pixels are drawn successively from the style that has
43
+ been set with <a href="#label:72">GD::Image#setStyle</a>. If the color of a pixel is
44
+ equal to <a href="#label:8">GD::Transparent</a>, that pixel is not altered.</p>
45
+ <dl>
46
+ <dt><a name="label:6" id="label:6"><code>GD::StyledBrushed</code></a><!-- RDLabel: "GD::StyledBrushed" -->
47
+ </dl>
48
+ <p>If this constant is used as the color when invoking a line-drawing
49
+ method such as <a href="#label:67">GD::Image#line</a> or <a href="#label:69">GD::Image#rectangle</a>, the
50
+ brush set with <a href="#label:70">GD::Image#setBrush</a> is drawn wherever the color
51
+ specified in <a href="#label:72">GD::Image#setStyle</a> is neither zero nor
52
+ <a href="#label:8">GD::Transparent</a>.</p>
53
+ <dl>
54
+ <dt><a name="label:7" id="label:7"><code>GD::Tiled</code></a><!-- RDLabel: "GD::Tiled" -->
55
+ </dl>
56
+ <p>If this constant is used as the color when invoking a filling method
57
+ such as <a href="#label:65">GD::Image#filledRectangle</a>,
58
+ <a href="#label:64">GD::Image#filledPolygon</a>, <a href="#label:63">GD::Image#fill</a>, and
59
+ <a href="#label:66">GD::Image#fillToBorder</a>. The area is filled with a tile image set
60
+ with <a href="#label:73">GD::Image#setTile</a>.</p>
61
+ <dl>
62
+ <dt><a name="label:8" id="label:8"><code>GD::Transparent</code></a><!-- RDLabel: "GD::Transparent" -->
63
+ </dl>
64
+ <p>Used in place of a normal color in a style to be set with
65
+ <a href="#label:72">GD::Image#setStyle</a>. This constant is not the transparent color
66
+ index of the image; for that functionality, see
67
+ <a href="#label:59">GD::Image#transparent</a>.</p>
68
+ <dl>
69
+ <dt><a name="label:9" id="label:9"><code>GD::GD2_FMT_COMPRESSED</code></a><!-- RDLabel: "GD::GD2_FMT_COMPRESSED" -->
70
+ </dl>
71
+ <p>specifies Gd2 image to be compressed. This constant is used in
72
+ <a href="#label:102">GD::Image#gd2</a>.</p>
73
+ <dl>
74
+ <dt><a name="label:10" id="label:10"><code>GD::GD2_FMT_RAW</code></a><!-- RDLabel: "GD::GD2_FMT_RAW" -->
75
+ </dl>
76
+ <p>specifies Gd2 image to be uncompressed. This constant is used in
77
+ <a href="#label:102">GD::Image#gd2</a>.</p>
78
+ <h3><a name="label:11" id="label:11">gd-2.0.0 or higher</a></h3><!-- RDLabel: "gd-2.0.0 or higher" -->
79
+ <dl>
80
+ <dt><a name="label:12" id="label:12"><code>GD::AlphaTransparent</code></a><!-- RDLabel: "GD::AlphaTransparent" -->
81
+ <dt><a name="label:13" id="label:13"><code>GD::AlphaOpaque</code></a><!-- RDLabel: "GD::AlphaOpaque" -->
82
+ </dl>
83
+ <p>These constants are used in <a href="#label:45">GD::Image.trueColorAlpha</a>, and each
84
+ defines the upper(127) and lower(0) bounds of alpha channel value,
85
+ respectively. Full transparency corresponds to GD::AlphaTransparent.</p>
86
+ <dl>
87
+ <dt><a name="label:14" id="label:14"><code>GD::Arc</code></a><!-- RDLabel: "GD::Arc" -->
88
+ <dt><a name="label:15" id="label:15"><code>GD::Chord</code></a><!-- RDLabel: "GD::Chord" -->
89
+ <dt><a name="label:16" id="label:16"><code>GD::Pie</code></a><!-- RDLabel: "GD::Pie" -->
90
+ <dt><a name="label:17" id="label:17"><code>GD::NoFill</code></a><!-- RDLabel: "GD::NoFill" -->
91
+ <dt><a name="label:18" id="label:18"><code>GD::Edged</code></a><!-- RDLabel: "GD::Edged" -->
92
+ </dl>
93
+ <p>These constants become options that specify how an arc is drawn with
94
+ using <a href="#label:123">GD::Image#filledArc</a>. See also <a href="#label:123">GD::Image#filledArc</a>.</p>
95
+ <h1><a name="label:19" id="label:19">Class GD::Image</a></h1><!-- RDLabel: "Class GD::Image" -->
96
+ <h2><a name="label:20" id="label:20">Class Methods</a></h2><!-- RDLabel: "Class Methods" -->
97
+ <h5><a name="label:21" id="label:21">Instance Creation</a></h5><!-- RDLabel: "Instance Creation" -->
98
+ <dl>
99
+ <dt><a name="label:22" id="label:22"><code>GD::Image.new(<var>width</var>, <var>height</var>)</code></a><!-- RDLabel: "GD::Image.new" -->
100
+ </dl>
101
+ <p>creates a new palette image instance with specified <var>width</var> and
102
+ <var>height</var>.</p>
103
+ <dl>
104
+ <dt><a name="label:23" id="label:23"><code>GD::Image.newFromGd(<var>file</var>)</code></a><!-- RDLabel: "GD::Image.newFromGd" -->
105
+ </dl>
106
+ <p>creates a new image instance from Gd file. <var>file</var> is a File
107
+ object.</p>
108
+ <dl>
109
+ <dt><a name="label:24" id="label:24"><code>GD::Image.new_from_gd(<var>filename</var>)</code></a><!-- RDLabel: "GD::Image.new_from_gd" -->
110
+ </dl>
111
+ <p>creates a new Gd image instance from <var>filename</var>. <var>filename</var>
112
+ is a String object which specifies the localtion of the image file.</p>
113
+ <dl>
114
+ <dt><a name="label:25" id="label:25"><code>GD::Image.newFromGd2(<var>file</var>)</code></a><!-- RDLabel: "GD::Image.newFromGd2" -->
115
+ </dl>
116
+ <p>creates a new image instance from Gd2 file. <var>file</var> is a File
117
+ object.</p>
118
+ <dl>
119
+ <dt><a name="label:26" id="label:26"><code>GD::Image.new_from_gd2(<var>filename</var>)</code></a><!-- RDLabel: "GD::Image.new_from_gd2" -->
120
+ </dl>
121
+ <p>creates a new Gd2 image instance from <var>filename</var>. <var>filename</var>
122
+ is a String object which specifies the location of the image file.</p>
123
+ <dl>
124
+ <dt><a name="label:27" id="label:27"><code>GD::Image.newFromGd2Part(<var>file</var>, <var>srcX</var>, <var>srcY</var>, <var>width</var>, <var>height</var>)</code></a><!-- RDLabel: "GD::Image.newFromGd2Part" -->
125
+ </dl>
126
+ <p>creates a new image instance from part of Gd2 file. <var>file</var> is a
127
+ File object.</p>
128
+ <dl>
129
+ <dt><a name="label:28" id="label:28"><code>GD::Image.new_from_gd2_part(<var>filename</var>)</code></a><!-- RDLabel: "GD::Image.new_from_gd2_part" -->
130
+ </dl>
131
+ <p>creates a new Gd2 image instance from <var>filename</var>. <var>filename</var>
132
+ is a String object which specifies the location of the image file.</p>
133
+ <dl>
134
+ <dt><a name="label:29" id="label:29"><code>GD::Image.newFromJpeg(<var>file</var>)</code></a><!-- RDLabel: "GD::Image.newFromJpeg" -->
135
+ </dl>
136
+ <p>(gd-1.8 or later)</p>
137
+ <p>Creates a new image instance from JPEG file. <var>file</var> is a File
138
+ object.</p>
139
+ <dl>
140
+ <dt><a name="label:30" id="label:30"><code>GD::Image.new_from_jpeg(<var>filename</var>)</code></a><!-- RDLabel: "GD::Image.new_from_jpeg" -->
141
+ </dl>
142
+ <p>creates a new Jpeg image instance from <var>filename</var>. <var>filename</var>
143
+ is a String object which specifies the location of the image file.</p>
144
+ <dl>
145
+ <dt><a name="label:31" id="label:31"><code>GD::Image.newFromPng(<var>file</var>)</code></a><!-- RDLabel: "GD::Image.newFromPng" -->
146
+ </dl>
147
+ <p>creates a new image instance from PNG file. <var>file</var> is a File
148
+ object.</p>
149
+ <dl>
150
+ <dt><a name="label:32" id="label:32"><code>GD::Image.new_from_png(<var>filename</var>)</code></a><!-- RDLabel: "GD::Image.new_from_png" -->
151
+ </dl>
152
+ <p>creates a new PNG image instance from <var>filename</var>. <var>filename</var>
153
+ is a String object which specifies the location of the image file.</p>
154
+ <dl>
155
+ <dt><a name="label:33" id="label:33"><code>GD::Image.newFromXbm(<var>file</var>)</code></a><!-- RDLabel: "GD::Image.newFromXbm" -->
156
+ </dl>
157
+ <p>creates a new image instance from Xbm file. <var>file</var> is a File
158
+ object.</p>
159
+ <dl>
160
+ <dt><a name="label:34" id="label:34"><code>GD::Image.new_from_xbm(<var>filename</var>)</code></a><!-- RDLabel: "GD::Image.new_from_xbm" -->
161
+ </dl>
162
+ <p>creates a new XBitmap image instance from
163
+ <var>filename</var>. <var>filename</var> is a String object which specifies the
164
+ location of the image file.</p>
165
+ <dl>
166
+ <dt><a name="label:35" id="label:35"><code>GD::Image.newFromXpm(<var>file</var>)</code></a><!-- RDLabel: "GD::Image.newFromXpm" -->
167
+ </dl>
168
+ <p>(gd-1.7 or later)</p>
169
+ <p>creates a new image instance from Xpm file. <var>file</var> is a File
170
+ object.</p>
171
+ <dl>
172
+ <dt><a name="label:36" id="label:36"><code>GD::Image.new_from_xpm(<var>filename</var>)</code></a><!-- RDLabel: "GD::Image.new_from_xpm" -->
173
+ </dl>
174
+ <p>creates a new XPixmaps image instance from
175
+ <var>filename</var>. <var>filename</var> is a String object which specifies the
176
+ location of the image file.</p>
177
+ <h5><a name="label:37" id="label:37">Query</a></h5><!-- RDLabel: "Query" -->
178
+ <dl>
179
+ <dt><a name="label:38" id="label:38"><code>GD::Image.stringTTF(<var>fg_color</var>, <var>fnt_name</var>, <var>pt</var>, <var>angle</var>, <var>x</var>, <var>y</var>, <var>str</var>)</code></a><!-- RDLabel: "GD::Image.stringTTF" -->
180
+ </dl>
181
+ <p>(gd-1.6.1 or later) </p>
182
+ <p>Tries to find the bounding rectangle of <var>str</var> with size (<var>pt</var>)
183
+ and the name of the TrueType font(<var>fnt_name</var>), and returns the
184
+ array consists of the error message string and the array of each
185
+ vertex of the rectangle(brect[8], see the figure in the section of
186
+ <a href="#label:85">GD::Image#stringTTF</a>). If successful, the error message is
187
+ <a name="index:0" id="index:0">nil</a>. See also <a href="#label:85">GD::Image#stringTTF</a>.</p>
188
+ <dl>
189
+ <dt><a name="label:39" id="label:39"><code>GD::Image.stringFT(<var>fg_color</var>, <var>fnt_name</var>, <var>pt</var>, <var>angle</var>, <var>x</var>, <var>y</var>, <var>str</var>)</code></a><!-- RDLabel: "GD::Image.stringFT" -->
190
+ </dl>
191
+ <p>(gd-1.8.4) </p>
192
+ <p>This method provides the same functionarity as
193
+ <a href="#label:38">GD::Image.stringTTF</a> does, but uses FreeType2 library when
194
+ redering the string. See also <a href="#label:86">GD::Image#stringFT</a></p>
195
+ <h3><a name="label:11" id="label:11">gd-2.0.0 or higher</a></h3><!-- RDLabel: "gd-2.0.0 or higher" -->
196
+ <dl>
197
+ <dt><a name="label:41" id="label:41"><code>GD::Image.newTrueColor(<var>width</var>, <var>height</var>)</code></a><!-- RDLabel: "GD::Image.newTrueColor" -->
198
+ </dl>
199
+ <p>Creates a new truecolor image instance with specified <var>width</var> and
200
+ <var>height</var>.</p>
201
+ <dl>
202
+ <dt><a name="label:42" id="label:42"><code>GD::Image.trueColor(<var>r</var>, <var>g</var>, <var>b</var>)</code></a><!-- RDLabel: "GD::Image.trueColor" -->
203
+ <dt><a name="label:42" id="label:42"><code>GD::Image.trueColor(<var>rgbstr</var>)</code></a><!-- RDLabel: "GD::Image.trueColor" -->
204
+ </dl>
205
+ <p>returns the RGBA color value for drawing on a truecolor image, or an
206
+ image created by <a href="#label:41">GD::Image.newTrueColor</a>. <var>r</var>, <var>g</var>,
207
+ <var>b</var> values are in the range between 0 and 255. Or, you can
208
+ specify it by <var>rgbstr</var> which is in the range between "#000000" and
209
+ "#FFFFFF".</p>
210
+ <dl>
211
+ <dt><a name="label:42" id="label:42"><code>GD::Image.trueColor(<var>r</var>, <var>g</var>, <var>b</var>, <var>alpha</var>)</code></a><!-- RDLabel: "GD::Image.trueColor" -->
212
+ <dt><a name="label:45" id="label:45"><code>GD::Image.trueColorAlpha(<var>rgbstr</var>, <var>alpha</var>)</code></a><!-- RDLabel: "GD::Image.trueColorAlpha" -->
213
+ </dl>
214
+ <p>returns the RGBA color value for drawing on a truecolor image, or an
215
+ image created by <a href="#label:41">GD::Image.newTrueColor</a> with alpha channel
216
+ transparency. Because gd has 7-bit alpha channel, the <var>alpha</var>
217
+ value takes between 0(opaque) and 127(transparent).</p>
218
+ <p>These class methods are used for <em>truecolor</em> images. If you want
219
+ to specify alpha value for <em>palette</em> images, use
220
+ <a href="#label:110">GD::Image#colorAllocateAlpha</a>, <a href="#label:112">GD::Image#colorExactAlpha</a>,
221
+ <a href="#label:114">GD::Image#colorClosestAlpha</a>, or
222
+ <a href="#label:116">GD::Image#colorResolveAlpha</a> instead.</p>
223
+ <h2><a name="label:46" id="label:46">Methods</a></h2><!-- RDLabel: "Methods" -->
224
+ <dl>
225
+ <dt><a name="label:47" id="label:47"><code>GD::Image#destroy</code></a><!-- RDLabel: "GD::Image#destroy" -->
226
+ </dl>
227
+ <p>Free the memory associated with the image instance.</p>
228
+ <dl>
229
+ <dt><a name="label:48" id="label:48"><code>GD::Image#interlace=(<var>val</var>)</code></a><!-- RDLabel: "GD::Image#interlace=" -->
230
+ </dl>
231
+ <p>If <var>val</var> is <!-- Index, but conflict -->true<!-- Index end -->, the image is interlaced. Otherwise and by
232
+ default, the image is not interlaced.</p>
233
+ <h3><a name="label:49" id="label:49">Color Handling</a></h3><!-- RDLabel: "Color Handling" -->
234
+ <dl>
235
+ <dt><a name="label:50" id="label:50"><code>GD::Image#colorAllocate(<var>r</var>, <var>g</var>, <var>b</var>)</code></a><!-- RDLabel: "GD::Image#colorAllocate" -->
236
+ <dt><a name="label:50" id="label:50"><code>GD::Image#colorAllocate(<var>str</var>)</code></a><!-- RDLabel: "GD::Image#colorAllocate" -->
237
+ </dl>
238
+ <p>Finds the first available color index in the image instance, and sets
239
+ its RGB values to <var>r</var>, <var>g</var>, <var>b</var>, respectively and returns
240
+ the index of the new color table entry. <var>r</var>, <var>g</var>, <var>b</var> take
241
+ a value between 0 and 255. Also, if you use Ruby-1.6.0 or later, you
242
+ can specify a color as strings like "#FF00FF".</p>
243
+ <p>Note that the first time you invoke this method after creating a new
244
+ image by <a href="#label:22">GD::Image.new</a>, <em>the background color</em> of the image
245
+ is set.</p>
246
+ <p>You can allocate upto 256 colors to one image. If there is no space to
247
+ allocate the requested color, this returns -1.</p>
248
+ <p>If you use gd-1.6.2 or later, you can use
249
+ <a href="#label:57">GD::Image#colorResolve</a>, more robust way of color allocation.</p>
250
+ <dl>
251
+ <dt><a name="label:52" id="label:52"><code>GD::Image#colorClosest(<var>r</var>, <var>g</var>, <var>b</var>)</code></a><!-- RDLabel: "GD::Image#colorClosest" -->
252
+ <dt><a name="label:52" id="label:52"><code>GD::Image#colorClosest(<var>str</var>)</code></a><!-- RDLabel: "GD::Image#colorClosest" -->
253
+ </dl>
254
+ <p>Searches the colors which have been defined thus far in the image
255
+ instance and returns the index of the color with RGB values closest to
256
+ <var>r</var>, <var>g</var>, <var>b</var>, respectively. Also, if you use Ruby-1.6.0
257
+ or later, you can specify a color as strings like "#FF00FF".If no
258
+ color have been yet allocated to that image, this returns -1</p>
259
+ <p>This method is useful when a image instance which you want to allocate
260
+ a new color is created from the image scanned from a photograph in
261
+ which many colors will be used.</p>
262
+ <dl>
263
+ <dt><a name="label:54" id="label:54"><code>GD::Image#colorDeallocate(<var>color</var>)</code></a><!-- RDLabel: "GD::Image#colorDeallocate" -->
264
+ </dl>
265
+ <p>This marks the <var>color</var> at the specified index as being ripe for
266
+ reallocation. The next time <a href="#label:50">GD::Image#colorAllocate</a> is used,
267
+ this entry will be replaced. You can call this method several times
268
+ to deallocate multiple colors.</p>
269
+ <dl>
270
+ <dt><a name="label:55" id="label:55"><code>GD::Image#colorExact(<var>r</var>, <var>g</var>, <var>b</var>)</code></a><!-- RDLabel: "GD::Image#colorExact" -->
271
+ <dt><a name="label:55" id="label:55"><code>GD::Image#colorExact(<var>str</var>)</code></a><!-- RDLabel: "GD::Image#colorExact" -->
272
+ </dl>
273
+ <p>Searches the colors which have been defined thus far in the image
274
+ instance and returns the index of the first color with RGB values
275
+ which exactly match (<var>r</var>, <var>g</var>, <var>b</var>). If no allocated color
276
+ matches the request precisely, this returns -1. Also, if you use
277
+ Ruby-1.6.0 or later, you can specify a color as strings like
278
+ "#FF00FF".</p>
279
+ <dl>
280
+ <dt><a name="label:57" id="label:57"><code>GD::Image#colorResolve(<var>r</var>, <var>g</var>, <var>b</var>)</code></a><!-- RDLabel: "GD::Image#colorResolve" -->
281
+ <dt><a name="label:57" id="label:57"><code>GD::Image#colorResolve(<var>str</var>)</code></a><!-- RDLabel: "GD::Image#colorResolve" -->
282
+ </dl>
283
+ <p>(gd-1.6.2 or later)</p>
284
+ <p>Searches the colors which have been defined thus far in the image
285
+ specified and returns the index of the first color with RGB values
286
+ which exactly match those of the request. Also, if you use Ruby-1.6.0
287
+ or later, you can specify a color as strings like "#FF00FF".</p>
288
+ <p>If no allocated color matches the request precisely, then this method
289
+ tries to allocate the exact color.If there is no space left in the
290
+ color table then this method returns the closest color (as in
291
+ <a href="#label:52">GD::Image#colorClosest</a>).</p>
292
+ <p>Unlike <a href="#label:50">GD::Image#colorAllocate</a>, this method always returns an
293
+ index of a color.</p>
294
+ <dl>
295
+ <dt><a name="label:59" id="label:59"><code>GD::Image#transparent(<var>idx</var>)</code></a><!-- RDLabel: "GD::Image#transparent" -->
296
+ </dl>
297
+ <p>Sets the transparent color index for the specified image to the
298
+ specified color index <var>idx</var>. To indicate that there should be no
299
+ transparent color, set <var>idx</var> to -1. </p>
300
+ <p>Note that JPEG images <em>do not support</em> transparency, so this
301
+ setting has no effect when writing JPEG images.</p>
302
+ <h5><a name="label:60" id="label:60">Drawing and Filling</a></h5><!-- RDLabel: "Drawing and Filling" -->
303
+ <dl>
304
+ <dt><a name="label:61" id="label:61"><code>GD::Image#arc(<var>cx</var>, <var>cy</var>, <var>width</var>, <var>height</var>, <var>start</var>, <var>end</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#arc" -->
305
+ </dl>
306
+ <p>Draw a partial ellipse centered at the given point (<var>cx</var>,<var>cy</var>)
307
+ with specified width <var>width</var> and height <var>height</var> in pixel with
308
+ specified <var>color</var>. The arc begins at the position in degrees
309
+ specified by <var>start</var> and ends at the position specified by
310
+ <var>end</var>.</p>
311
+ <dl>
312
+ <dt><a name="label:62" id="label:62"><code>GD::Image#dashedLine(<var>x1</var>, <var>y1</var>, <var>x2</var>, <var>y2</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#dashedLine" -->
313
+ </dl>
314
+ <p>This method is provided solely for backwards compatibility of the
315
+ Boutell's gd library. When drawing a dashed line, new programs should
316
+ use <a href="#label:67">GD::Image#line</a> with <a href="#label:72">GD::Image#setStyle</a>.</p>
317
+ <dl>
318
+ <dt><a name="label:63" id="label:63"><code>GD::Image#fill(<var>x</var>, <var>y</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#fill" -->
319
+ </dl>
320
+ <p>Flood a portion of the image with the specified <var>color</var>, beginning
321
+ at the specified point (<var>x</var>,<var>y</var>) and flooding the surrounding
322
+ region of the same color as the starting point. See also
323
+ <a href="#label:66">GD::Image#fillToBorder</a>.</p>
324
+ <dl>
325
+ <dt><a name="label:64" id="label:64"><code>GD::Image#filledPolygon(<var>points</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#filledPolygon" -->
326
+ </dl>
327
+ <p>Draw a filled polygon with the verticies specified, using the
328
+ <var>color</var> index specified. see also <a href="#label:68">GD::Image#polygon</a>.</p>
329
+ <dl>
330
+ <dt><a name="label:65" id="label:65"><code>GD::Image#filledRectangle(<var>x1</var>, <var>y1</var>, <var>x2</var>, <var>y2</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#filledRectangle" -->
331
+ </dl>
332
+ <p>Draw a filled rectangle. See also <a href="#label:69">GD::Image#rectangle</a>.</p>
333
+ <dl>
334
+ <dt><a name="label:66" id="label:66"><code>GD::Image#fillToBorder(<var>x</var>, <var>y</var>, <var>border_color</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#fillToBorder" -->
335
+ </dl>
336
+ <p>floods a portion of the image with the specified <var>color</var>,
337
+ beginning at the specified point (<var>x</var>,<var>y</var>) and stopping at the
338
+ specified <var>border_color</var>.</p>
339
+ <p>The <var>border_color</var> cannot be a special color such as
340
+ <a href="#label:7">GD::Tiled</a>. It must be a proper solid color. However the fill
341
+ <var>color</var> can be a special color.</p>
342
+ <dl>
343
+ <dt><a name="label:67" id="label:67"><code>GD::Image#line(<var>x1</var>, <var>y1</var>, <var>x2</var>, <var>y2</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#line" -->
344
+ </dl>
345
+ <p>Draw a line between two endpoints (<var>x1</var>,<var>y1</var>) and
346
+ (<var>x2</var>,<var>y2</var>). <var>color</var> is the color allocated by
347
+ <a href="#label:50">GD::Image#colorAllocate</a>, or one of <a href="#label:5">GD::Styled</a>,
348
+ <a href="#label:4">GD::Brushed</a>, <a href="#label:6">GD::StyledBrushed</a>.</p>
349
+ <dl>
350
+ <dt><a name="label:68" id="label:68"><code>GD::Image#polygon(<var>points</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#polygon" -->
351
+ </dl>
352
+ <p>Draw a polygon with the verticies (at least 3) specified, using the
353
+ <var>color</var> index. <var>points</var> is <!-- Index, but conflict -->GD::Polygon<!-- Index end --> instance. After
354
+ you created the <!-- Index, but conflict -->GD::Polygon<!-- Index end --> instances and did some operation on
355
+ the vertices, the poligon is drawn with this method.</p>
356
+ <dl>
357
+ <dt><a name="label:69" id="label:69"><code>GD::Image#rectangle(<var>x1</var>, <var>y1</var>, <var>x2</var>, <var>y2</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#rectangle" -->
358
+ </dl>
359
+ <p>Draw a rectangle with two corners(upper left is (<var>x1</var>,<var>y1</var>),
360
+ lower right (<var>x2</var>, <var>y2</var>)) with the specified <var>color</var>
361
+ index.</p>
362
+ <dl>
363
+ <dt><a name="label:70" id="label:70"><code>GD::Image#setBrush(<var>image</var>)</code></a><!-- RDLabel: "GD::Image#setBrush" -->
364
+ </dl>
365
+ <p>Set a "brush"(an image used to draw wide, shaped strokes) to
366
+ <var>image</var>. <var>image</var> can be any of <!-- Index, but conflict -->GD::Image<!-- Index end --> instance.By
367
+ setting the transparent color index of the brush image with
368
+ <a href="#label:59">GD::Image#transparent</a>, a brush of any shape can be created. All
369
+ line-drawing methods, such as <a href="#label:67">GD::Image#line</a> and
370
+ <a href="#label:68">GD::Image#polygon</a>, will use the current brush if the special
371
+ "color" <a href="#label:4">GD::Brushed</a> or <a href="#label:6">GD::StyledBrushed</a> is used when
372
+ invoking them.</p>
373
+ <p>As for any image instance, brush image must be destroyed by
374
+ <a href="#label:47">GD::Image#destroy</a>.</p>
375
+ <dl>
376
+ <dt><a name="label:71" id="label:71"><code>GD::Image#setPixel(<var>x</var>, <var>y</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#setPixel" -->
377
+ </dl>
378
+ <p>Set the color of a pixel at (<var>x</var>,<var>y</var>) to <var>color</var> index.</p>
379
+ <dl>
380
+ <dt><a name="label:72" id="label:72"><code>GD::Image#setStyle(<var>color1</var>, <var>color2</var>, ...)</code></a><!-- RDLabel: "GD::Image#setStyle" -->
381
+ </dl>
382
+ <p>Set the series of colors to be drawn repeatedly during the drawing by
383
+ a method such as <a href="#label:67">GD::Image#line</a>. Each element of <var>color</var> is
384
+ either the color index allocated by <a href="#label:50">GD::Image#colorAllocate</a>, or
385
+ <a href="#label:8">GD::Transparent</a> if you want the color of the particular pixel
386
+ left unchanged.</p>
387
+ <dl>
388
+ <dt><a name="label:73" id="label:73"><code>GD::Image#setTile(<var>image</var>)</code></a><!-- RDLabel: "GD::Image#setTile" -->
389
+ </dl>
390
+ <p>Set the image to be tiled. <var>image</var> can be any <!-- Index, but conflict -->GD::Image<!-- Index end --> instance.</p>
391
+ <h5><a name="label:74" id="label:74">Copy and Merge</a></h5><!-- RDLabel: "Copy and Merge" -->
392
+ <dl>
393
+ <dt><a name="label:75" id="label:75"><code>GD::Image#copy(<var>dest_img</var>, <var>dest_X</var>, <var>dest_Y</var>, <var>self_X</var>, <var>self_Y</var>, <var>width</var>, <var>height</var>)</code></a><!-- RDLabel: "GD::Image#copy" -->
394
+ </dl>
395
+ <p>Copy a portion of the image at (<var>self_X, self_Y</var>) with specified
396
+ <var>width</var> and <var>height</var> to (<var>dest_X</var>, <var>dest_Y</var>) of
397
+ <var>dest_img</var>.</p>
398
+ <dl>
399
+ <dt><a name="label:76" id="label:76"><code>GD::Image#copyMerge(<var>dest_img</var>, <var>dest_X</var>, <var>dest_Y</var>, <var>self_X</var>, <var>self_Y</var>, <var>width</var>, <var>height</var>, <var>percent</var>)</code></a><!-- RDLabel: "GD::Image#copyMerge" -->
400
+ </dl>
401
+ <p>Copy the two images by an amount specified in the last parameter
402
+ <var>percent</var>. Arguments except for this are identical to those of
403
+ <a href="#label:75">GD::Image#copy</a>. If <var>percent</var> is equal to 100, then this
404
+ method will function identically to <a href="#label:75">GD::Image#copy</a> i.e. the
405
+ source image replaces the pixels in the destination. If the
406
+ <var>percent</var> = 0, no action is taken.</p>
407
+ <p>This feature is most useful to 'highlight' sections of an image by
408
+ merging a solid color with <var>percent</var> = 50.</p>
409
+ <dl>
410
+ <dt><a name="label:77" id="label:77"><code>GD::Image#copyMergeGray(<var>dest_img</var>, <var>dest_X</var>, <var>dest_Y</var>, <var>self_X</var>, <var>self_Y</var>, <var>width</var>, <var>height</var>, <var>percent</var>)</code></a><!-- RDLabel: "GD::Image#copyMergeGray" -->
411
+ </dl>
412
+ <p>Identical to <a href="#label:76">GD::Image#copyMerge</a>, except that when merging
413
+ images it preserves the hue of the source by converting the
414
+ destination pixels to grey scale before the copy operation.</p>
415
+ <dl>
416
+ <dt><a name="label:78" id="label:78"><code>GD::Image#copyResized(<var>dest_img</var>, <var>dest_X</var>, <var>dest_Y</var>, <var>self_X</var>, <var>self_Y</var>, <var>self_width</var>, <var>self_height</var>, <var>dest_X</var>, <var>dest_Y</var>)</code></a><!-- RDLabel: "GD::Image#copyResized" -->
417
+ </dl>
418
+ <p>Copy a portion of the image at (<var>self_X, self_Y</var>) with specified
419
+ <var>self_width</var> and <var>self_height</var> to <var>dest_img</var> at
420
+ (<var>dest_X</var>, <var>dest_Y</var>) with specified <var>dest_width</var> and
421
+ <var>dest_height</var>.</p>
422
+ <dl>
423
+ <dt><a name="label:79" id="label:79"><code>GD::Image#paletteCopy(<var>dest</var>)</code></a><!-- RDLabel: "GD::Image#paletteCopy" -->
424
+ </dl>
425
+ <p>Copies a palette to <var>dest</var> image, attempting to match the colors
426
+ in the target image to the colors in the palette of the self.</p>
427
+ <h5><a name="label:80" id="label:80">Font and text handling</a></h5><!-- RDLabel: "Font and text handling" -->
428
+ <dl>
429
+ <dt><a name="label:81" id="label:81"><code>GD::Image#char(<var>font</var>, <var>x</var>, <var>y</var>, <var>char</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#char" -->
430
+ </dl>
431
+ <p>Draws a single character <var>char</var> at (<var>x</var>, <var>y</var>) with
432
+ specified <var>color</var>. <var>font</var> is specified by one of
433
+ <a href="#label:161">GD::Font::TinyFont</a>, <a href="#label:160">GD::Font::SmallFont</a>,
434
+ <a href="#label:159">GD::Font::MediumFont</a>, <a href="#label:158">GD::Font::LargeFont</a>,
435
+ <a href="#label:157">GD::Font::GiantFont</a>.</p>
436
+ <dl>
437
+ <dt><a name="label:82" id="label:82"><code>GD::Image#charUp(<var>font</var>, <var>x</var>, <var>y</var>, <var>char</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#charUp" -->
438
+ </dl>
439
+ <p>Draws a single chracter <var>char</var> at (<var>x</var>, <var>y</var>) with
440
+ specified <var>color</var>. <var>char</var> is drawn in a vertical direction,
441
+ i.e. drawn with rotated in 90 degree. See also <a href="#label:81">GD::Image#char</a>.</p>
442
+ <dl>
443
+ <dt><a name="label:83" id="label:83"><code>GD::Image#string(<var>font</var>, <var>x</var>, <var>y</var>, <var>str</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#string" -->
444
+ </dl>
445
+ <p>Draws multiple characters <var>str</var> on the image with the specified
446
+ <var>color</var>. <var>font</var> is specified by one of
447
+ <a href="#label:161">GD::Font::TinyFont</a>, <a href="#label:160">GD::Font::SmallFont</a>,
448
+ <a href="#label:159">GD::Font::MediumFont</a>, <a href="#label:158">GD::Font::LargeFont</a>,
449
+ <a href="#label:157">GD::Font::GiantFont</a>, or <!-- Index, but conflict -->GD::Font<!-- Index end --> instance created by
450
+ <a href="#label:150">GD::Font.new</a>.</p>
451
+ <dl>
452
+ <dt><a name="label:84" id="label:84"><code>GD::Image#stringUp(<var>font</var>, <var>x</var>, <var>y</var>, <var>str</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#stringUp" -->
453
+ </dl>
454
+ <p>Draw multiple characters <var>str</var> on the image with the specified
455
+ <var>color</var>. <var>str</var> is drawn in a vertical direction, i.e. drawn
456
+ with rotated in 90 degree. See also <a href="#label:83">GD::Image#string</a>.</p>
457
+ <dl>
458
+ <dt><a name="label:85" id="label:85"><code>GD::Image#stringTTF(<var>fg_color</var>, <var>fnt_name</var>, <var>pt</var>, <var>angle</var>, <var>x</var>, <var>y</var>, <var>str</var>)</code></a><!-- RDLabel: "GD::Image#stringTTF" -->
459
+ </dl>
460
+ <p>(gd-1.6.1 or later) </p>
461
+ <p>Draws a string <var>str</var> at (<var>x</var>, <var>y</var>) on the image using
462
+ user-supplied TrueType fonts with specified <var>fg_color</var>. The
463
+ location of TrueType font <var>fnt_name</var> is specified by full path.
464
+ The string may be arbitrarily scaled at <var>pt</var> and rotated
465
+ (<var>angle</var> in radians).</p>
466
+ <p>This method returns an array of 2 elements. the first element is the
467
+ error message string, the 2nd is <em>brect</em> of the bounding rectangle
468
+ with 8 elements. Each element of <em>brect</em> is illustrated as below:</p>
469
+ <pre>(brect[6],brect[7]) (brect[4],brect[5])
470
+ +--------------------+
471
+ |( S t r i n g )|
472
+ +--------------------+
473
+ (brect[0],brect[1]) (brect[2],brect[3])</pre>
474
+ <p>When the string is successfully drawn, error message is <!-- Index, but conflict -->nil<!-- Index end -->. </p>
475
+ <p>If you only want to know the brect of the bounding rectangle, you can
476
+ use <a href="#label:38">GD::Image.stringTTF</a>.</p>
477
+ <dl>
478
+ <dt><a name="label:86" id="label:86"><code>GD::Image#stringFT(<var>fg_color</var>, <var>fnt_name</var>, <var>pt</var>, <var>angle</var>, <var>x</var>, <var>y</var>, <var>str</var>)</code></a><!-- RDLabel: "GD::Image#stringFT" -->
479
+ </dl>
480
+ <p>(gd-1.8.4) </p>
481
+ <p>This method provides the same functionarity as
482
+ <a href="#label:85">GD::Image#stringTTF</a> does, but uses FreeType2 library when
483
+ redering the string.</p>
484
+ <h5><a name="label:37" id="label:37">Query</a></h5><!-- RDLabel: "Query" -->
485
+ <dl>
486
+ <dt><a name="label:88" id="label:88"><code>GD::Image#bounds</code></a><!-- RDLabel: "GD::Image#bounds" -->
487
+ </dl>
488
+ <p>Returns the width and height of the image as Array instance.</p>
489
+ <dl>
490
+ <dt><a name="label:89" id="label:89"><code>GD::Image#boundsSafe(<var>x</var>, <var>y</var>)</code></a><!-- RDLabel: "GD::Image#boundsSafe" -->
491
+ </dl>
492
+ <p>Returns <!-- Index, but conflict -->true<!-- Index end --> if specified point (<var>x</var>,<var>y</var>) is within the
493
+ bounds of the image. Otherwise return <!-- Index, but conflict -->false<!-- Index end -->.</p>
494
+ <dl>
495
+ <dt><a name="label:90" id="label:90"><code>GD::Image#blue(<var>idx</var>)</code></a><!-- RDLabel: "GD::Image#blue" -->
496
+ </dl>
497
+ <p>Returns the blue component of the specified color index <var>idx</var>.</p>
498
+ <dl>
499
+ <dt><a name="label:91" id="label:91"><code>GD::Image#colorsTotal</code></a><!-- RDLabel: "GD::Image#colorsTotal" -->
500
+ </dl>
501
+ <p>Returns the number of colors currently allocated in the image. </p>
502
+ <dl>
503
+ <dt><a name="label:92" id="label:92"><code>GD::Image#getTransparent</code></a><!-- RDLabel: "GD::Image#getTransparent" -->
504
+ </dl>
505
+ <p>Returns the current transparent color index of the image. Returns -1
506
+ if there is no transparent color.</p>
507
+ <dl>
508
+ <dt><a name="label:93" id="label:93"><code>GD::Image#getPixel(<var>x</var>, <var>y</var>)</code></a><!-- RDLabel: "GD::Image#getPixel" -->
509
+ </dl>
510
+ <p>Returns the color index of a pixel at (<var>x</var>,<var>y</var>)).</p>
511
+ <dl>
512
+ <dt><a name="label:94" id="label:94"><code>GD::Image#green(<var>idx</var>)</code></a><!-- RDLabel: "GD::Image#green" -->
513
+ </dl>
514
+ <p>Returns the green component of the specified color index <var>idx</var>.</p>
515
+ <dl>
516
+ <dt><a name="label:95" id="label:95"><code>GD::Image#height</code></a><!-- RDLabel: "GD::Image#height" -->
517
+ </dl>
518
+ <p>Returns the height of the image.</p>
519
+ <dl>
520
+ <dt><a name="label:96" id="label:96"><code>GD::Image#interlace</code></a><!-- RDLabel: "GD::Image#interlace" -->
521
+ </dl>
522
+ <p>Returns <!-- Index, but conflict -->true<!-- Index end --> if the image is interlaced, and returns <!-- Index, but conflict -->false<!-- Index end --> otherwise.</p>
523
+ <dl>
524
+ <dt><a name="label:97" id="label:97"><code>GD::Image#red(<var>idx</var>)</code></a><!-- RDLabel: "GD::Image#red" -->
525
+ </dl>
526
+ <p>Returns the red component of the specified color index <var>idx</var>.</p>
527
+ <dl>
528
+ <dt><a name="label:98" id="label:98"><code>GD::Image#rgb(<var>idx</var>)</code></a><!-- RDLabel: "GD::Image#rgb" -->
529
+ </dl>
530
+ <p>Returns array of the RGB values for the specified index <var>idx</var> of
531
+ the image.</p>
532
+ <dl>
533
+ <dt><a name="label:99" id="label:99"><code>GD::Image#width</code></a><!-- RDLabel: "GD::Image#width" -->
534
+ </dl>
535
+ <p>Returns the width of the image.</p>
536
+ <h5><a name="label:100" id="label:100">Output</a></h5><!-- RDLabel: "Output" -->
537
+ <dl>
538
+ <dt><a name="label:101" id="label:101"><code>GD::Image#gd(<var>file</var>)</code></a><!-- RDLabel: "GD::Image#gd" -->
539
+ </dl>
540
+ <p>Outputs the image to the specified <var>file</var> in Gd format. </p>
541
+ <dl>
542
+ <dt><a name="label:102" id="label:102"><code>GD::Image#gd2(<var>file</var>, <var>chunk_size</var>, <var>fmt</var>)</code></a><!-- RDLabel: "GD::Image#gd2" -->
543
+ </dl>
544
+ <p>Outputs the image to the specified <var>file</var> in Gd2 format with
545
+ specified <var>chunk_size</var> and <var>fmt</var>. A gd2 Image are stored as a
546
+ series of compressed/uncompressed subimages. You can specify
547
+ <var>chunk_size</var> which determines the size of the subimages. If
548
+ <var>chunk_size</var> is set zero, the default size is used. Whether the image
549
+ is compressed or uncompressed is determined by <var>fmt</var> being
550
+ <a href="#label:9">GD::GD2_FMT_COMPRESSED</a> or
551
+ <a href="#label:10">GD::GD2_FMT_RAW</a>, respectively.</p>
552
+ <dl>
553
+ <dt><a name="label:103" id="label:103"><code>GD::Image#jpeg(<var>file</var>, <var>quality</var>)</code></a><!-- RDLabel: "GD::Image#jpeg" -->
554
+ </dl>
555
+ <p>(gd-1.8 or later)</p>
556
+ <p>Outputs the image to the specified <var>file</var> with <var>quality</var> in
557
+ Jpeg format. If <var>quality</var> is set to nagative, the default IJG JPEG
558
+ quality value (which should yield a good general quality size
559
+ trade-off for most situations) is used. For practical purposes,
560
+ quality should be a value in the range 0-95.</p>
561
+ <dl>
562
+ <dt><a name="label:104" id="label:104"><code>GD::Image#jpegStr(<var>quality</var>)</code></a><!-- RDLabel: "GD::Image#jpegStr" -->
563
+ </dl>
564
+ <p>(gd-1.8 or later)</p>
565
+ <p>Outputs the Jpeg image as String object with specified <var>quality</var>.
566
+ This method will be especially useful when you want to transmit an
567
+ image <em>directly</em> to an user(i.e, without first writing it to a
568
+ file).</p>
569
+ <p>This method is provided by Colin Steele(colin@webg2.com). </p>
570
+ <dl>
571
+ <dt><a name="label:105" id="label:105"><code>GD::Image#png(<var>file</var>)</code></a><!-- RDLabel: "GD::Image#png" -->
572
+ </dl>
573
+ <p>Outputs the image to the specified <var>file</var> in PNG format. </p>
574
+ <dl>
575
+ <dt><a name="label:106" id="label:106"><code>GD::Image#pngStr(<var>file</var>)</code></a><!-- RDLabel: "GD::Image#pngStr" -->
576
+ </dl>
577
+ <p>Outputs the image in PNG format as String object. This method will be
578
+ especially useful when you want to transmit an image <em>directly</em> to
579
+ an user(i.e, without first writing it to a file).</p>
580
+ <dl>
581
+ <dt><a name="label:107" id="label:107"><code>GD::Image#wbmp(<var>fg_color</var>, <var>file</var>)</code></a><!-- RDLabel: "GD::Image#wbmp" -->
582
+ </dl>
583
+ <p>(gd-1.8 or later)</p>
584
+ <p>Outputs the specified image to the specified file in WBMP format.</p>
585
+ <p>WBMP file support is <em>black</em> and <em>white</em> only. The color index
586
+ specified by the <var>fg_color</var> argument is the "foreground," and only
587
+ pixels of this color will be set in the WBMP file. All other pixels
588
+ will be considered "background."</p>
589
+ <h3><a name="label:11" id="label:11">gd-2.0.0 or higher</a></h3><!-- RDLabel: "gd-2.0.0 or higher" -->
590
+ <h5><a name="label:109" id="label:109">Color handling</a></h5><!-- RDLabel: "Color handling" -->
591
+ <dl>
592
+ <dt><a name="label:110" id="label:110"><code>GD::Image#colorAllocateAlpha(<var>r</var>, <var>g</var>, <var>b</var>, <var>alpha</var>)</code></a><!-- RDLabel: "GD::Image#colorAllocateAlpha" -->
593
+ <dt><a name="label:110" id="label:110"><code>GD::Image#colorAllocateAlpha(<var>rgbstr</var>, <var>alpha</var>)</code></a><!-- RDLabel: "GD::Image#colorAllocateAlpha" -->
594
+ </dl>
595
+ <p>Finds the first available color index in the image specified, sets its
596
+ RGBA values to those requested and returns the index of the new color
597
+ table entry, or an RGBA value in the case of a truecolor image; in
598
+ either case you can then use the returned value as a parameter to
599
+ drawing functions. The <var>alpha</var> value takes between 0(opaque) and
600
+ 127(transparent).</p>
601
+ <p>See also <a href="#label:50">GD::Image#colorAllocate</a>.</p>
602
+ <dl>
603
+ <dt><a name="label:112" id="label:112"><code>GD::Image#colorExactAlpha(<var>r</var>, <var>g</var>, <var>b</var>, <var>alpha</var>)</code></a><!-- RDLabel: "GD::Image#colorExactAlpha" -->
604
+ <dt><a name="label:112" id="label:112"><code>GD::Image#colorExactAlpha(<var>rgbstr</var>, <var>alpha</var>)</code></a><!-- RDLabel: "GD::Image#colorExactAlpha" -->
605
+ </dl>
606
+ <p>Searches the colors which have been defined thus far in the image
607
+ specified and returns the index of the first color entry which exactly
608
+ match those of the request, or an RGBA value in the case of a
609
+ truecolor image; in either case you can then use the returned value as
610
+ a parameter to drawing functions.The <var>alpha</var> value takes between
611
+ 0(opaque) and 127(transparent).</p>
612
+ <p>See also <a href="#label:55">GD::Image#colorExact</a>.</p>
613
+ <dl>
614
+ <dt><a name="label:114" id="label:114"><code>GD::Image#colorClosestAlpha(<var>r</var>, <var>g</var>, <var>b</var>, <var>alpha</var>)</code></a><!-- RDLabel: "GD::Image#colorClosestAlpha" -->
615
+ <dt><a name="label:114" id="label:114"><code>GD::Image#colorClosestAlpha(<var>rgbstr</var>, <var>alpha</var>)</code></a><!-- RDLabel: "GD::Image#colorClosestAlpha" -->
616
+ </dl>
617
+ <p>Searches the colors which have been defined thus far in the palette
618
+ image specified and returns the index of the color with RGBA values
619
+ closest to those of the request. The <var>alpha</var> value takes between
620
+ 0(opaque) and 127(transparent).</p>
621
+ <p>Closeness is determined by Euclidian distance, which is used to
622
+ determine the distance in four-dimensional color/alpha space between
623
+ colors.</p>
624
+ <p>When applied to a truecolor image, this method always succeeds in
625
+ returning the desired color.</p>
626
+ <p>See also <a href="#label:52">GD::Image#colorClosest</a>.</p>
627
+ <dl>
628
+ <dt><a name="label:116" id="label:116"><code>GD::Image#colorResolveAlpha(<var>r</var>, <var>g</var>, <var>b</var>, <var>alpha</var>)</code></a><!-- RDLabel: "GD::Image#colorResolveAlpha" -->
629
+ <dt><a name="label:116" id="label:116"><code>GD::Image#colorResolveAlpha(<var>rgbstr</var>, <var>alpha</var>)</code></a><!-- RDLabel: "GD::Image#colorResolveAlpha" -->
630
+ </dl>
631
+ <p>Searches the colors which have been defined thus far in the palette
632
+ image specified and returns the index of the first color with RGBA
633
+ values which exactly match those of the request. The <var>alpha</var> value
634
+ takes between 0(opaque) and 127(transparent).</p>
635
+ <p>If no allocated color matches the request precisely, then it tries to
636
+ allocate the exact color. If there is no space left in the color table
637
+ then it returns the closest color (as in
638
+ <!-- Reference, RDLabel "GD::Image#closestAlpha" doesn't exist --><em class="label-not-found">GD::Image#closestAlpha</em><!-- Reference end -->). </p>
639
+ <p>This method always returns an index of a color. When applied to a
640
+ truecolor image, this function always succeeds in returning the
641
+ desired color.</p>
642
+ <p>See also <a href="#label:57">GD::Image#colorResolve</a>.</p>
643
+ <dl>
644
+ <dt><a name="label:118" id="label:118"><code>GD::Image#alphaBlending=(<var>bool</var>)</code></a><!-- RDLabel: "GD::Image#alphaBlending=" -->
645
+ </dl>
646
+ <p>Specifies the different modes for drawing on <em>truecolor</em> images.
647
+ When <var>bool</var> sets <!-- Index, but conflict -->true<!-- Index end -->("blending mode"), how much of the
648
+ underlying color should be allowed to shine through is determined by
649
+ the alpha channel value of the color.</p>
650
+ <p>This blending mode is effective for the following drawing operations,
651
+ and in this mode, the existing color at the drawing point is blended
652
+ with drawing color with its alpha value.</p>
653
+ <p>When <var>bool</var> sets <!-- Index, but conflict -->false<!-- Index end -->("non-blending mode"), the existing
654
+ color at the drawing point is replaced by the drawing color with its
655
+ own alpha value.</p>
656
+ <p>Note that this blending mode is not available when drawing on
657
+ <em>palette</em> images.</p>
658
+ <dl>
659
+ <dt><a name="label:119" id="label:119"><code>GD::Image#alpha(<var>color</var>)</code></a><!-- RDLabel: "GD::Image#alpha" -->
660
+ </dl>
661
+ <p>Returns the alpha channel component (between 0 and 127) of the
662
+ specified color index.</p>
663
+ <h5><a name="label:120" id="label:120">Image manipulation</a></h5><!-- RDLabel: "Image manipulation" -->
664
+ <dl>
665
+ <dt><a name="label:121" id="label:121"><code>GD::Image#copyResampled(<var>dest_img</var>, <var>dest_X</var>, <var>dest_Y</var>, <var>self_X</var>, <var>self_Y</var>, <var>dest_width</var>, <var>dest_height</var>, <var>self_width</var>, <var>self_height</var>)</code></a><!-- RDLabel: "GD::Image#copyResampled" -->
666
+ </dl>
667
+ <p>Copies a rectangular portion of one image to another image, smoothly
668
+ interpolating pixel values so that, in particular, reducing the size
669
+ of an image still retains a great deal of clarity.</p>
670
+ <p>Pixel values are interpolated only if the destination image is a
671
+ truecolor image. Otherwise, for a palette image, the same
672
+ functionality as <a href="#label:78">GD::Image#copyResized</a> will be invoked.</p>
673
+ <p>See also <a href="#label:78">GD::Image#copyResized</a>, for a version which does not
674
+ interpolate pixel values.</p>
675
+ <dl>
676
+ <dt><a name="label:122" id="label:122"><code>GD::Image#filledEllipse(<var>cx</var>, <var>cy</var>, <var>width</var>, <var>height</var>, <var>start</var>, <var>end</var>, <var>color</var>)</code></a><!-- RDLabel: "GD::Image#filledEllipse" -->
677
+ </dl>
678
+ <p>draws an ellipse centered at the given point (<var>cx</var>, <var>cy</var>),
679
+ with the specified <var>width</var> and <var>height</var> in pixels.</p>
680
+ <p>The ellipse is filled in the <var>color</var> and is drawn by beginning
681
+ from <var>start</var> degrees and ending at <var>end</var> degrees. <var>end</var>
682
+ must be greater than <var>start</var>. Values greater than 360 are
683
+ interpreted modulo 360.</p>
684
+ <dl>
685
+ <dt><a name="label:123" id="label:123"><code>GD::Image#filledArc(<var>cx</var>, <var>cy</var>, <var>width</var>, <var>height</var>, <var>start</var>, <var>end</var>, <var>color</var>, <var>style</var>)</code></a><!-- RDLabel: "GD::Image#filledArc" -->
686
+ </dl>
687
+ <p>draws an partial ellipse(arc) centered at the given point (<var>cx</var>,
688
+ <var>cy</var>), with the specified <var>width</var> and <var>height</var> in pixels,
689
+ and filled in the <var>color</var>. The arc begins at <var>start</var> degrees
690
+ and ends at <var>end</var> degrees.</p>
691
+ <p>The last argument is bitwise <code>OR</code> of the following possibilities.</p>
692
+ <ul>
693
+ <li><code>GD::Arc</code></li>
694
+ </ul>
695
+ <p>draws the rounded edge between <var>start</var> and <var>end</var>.</p>
696
+ <ul>
697
+ <li><code>GD::Chord</code></li>
698
+ </ul>
699
+ <p>draws the line connecting <var>start</var> and <var>end</var>.</p>
700
+ <ul>
701
+ <li><code>GD::Pie</code> </li>
702
+ </ul>
703
+ <p>synonym for <code>GD::Arc</code></p>
704
+ <ul>
705
+ <li><code>GD::NoFill</code></li>
706
+ </ul>
707
+ <p>indicates Pie and Chord should be outlined, not filled.</p>
708
+ <ul>
709
+ <li><code>GD::Edged</code></li>
710
+ </ul>
711
+ <p>used together with <code>GD::NoFill</code>, indicates that the beginning and
712
+ ending angles should be connected to the center; this is a good way to
713
+ outline (rather than fill) a 'pie slice'.</p>
714
+ <dl>
715
+ <dt><a name="label:124" id="label:124"><code>GD::Image#to_paletteImage(<var>dither_flag</var>, <var>colors</var>)</code></a><!-- RDLabel: "GD::Image#to_paletteImage" -->
716
+ </dl>
717
+ <p>transforms the truecolor image to palette image. If <var>dither_flag</var>
718
+ is <!-- Index, but conflict -->true<!-- Index end -->, the image will be dithered to approximate colors
719
+ better, at the expense of some obvious "speckling." <var>colors</var> may
720
+ be anything up to 256, but if the image includes the photographic
721
+ information, or is a JPEG image, 256 is strongly recommended.</p>
722
+ <h5><a name="label:125" id="label:125">Query methods</a></h5><!-- RDLabel: "Query methods" -->
723
+ <dl>
724
+ <dt><a name="label:126" id="label:126"><code>GD::Image#is_trueColor?</code></a><!-- RDLabel: "GD::Image#is_trueColor?" -->
725
+ </dl>
726
+ <p>returns <!-- Index, but conflict -->true<!-- Index end --> if the image is a truecolor image.</p>
727
+ <dl>
728
+ <dt><a name="label:127" id="label:127"><code>GD::Image#is_palette?</code></a><!-- RDLabel: "GD::Image#is_palette?" -->
729
+ </dl>
730
+ <p>returns <!-- Index, but conflict -->true<!-- Index end --> if the image is a palette image.</p>
731
+ <dl>
732
+ <dt><a name="label:128" id="label:128"><code>GD::Image#thickness=(<var>val</var>)</code></a><!-- RDLabel: "GD::Image#thickness=" -->
733
+ </dl>
734
+ <p>specifies the line thickness (defaults to 1) that affects methods
735
+ drawing lines or curves. </p>
736
+ <h1><a name="label:129" id="label:129">Class GD::Polygon</a></h1><!-- RDLabel: "Class GD::Polygon" -->
737
+ <h2><a name="label:20" id="label:20">Class Methods</a></h2><!-- RDLabel: "Class Methods" -->
738
+ <dl>
739
+ <dt><a name="label:131" id="label:131"><code>GD::Polygon.new</code></a><!-- RDLabel: "GD::Polygon.new" -->
740
+ </dl>
741
+ <p>Creates a new polygon instance. After some operations provided below,
742
+ the polygon is drawn on the image by <a href="#label:68">GD::Image#polygon</a> method.</p>
743
+ <h2><a name="label:46" id="label:46">Methods</a></h2><!-- RDLabel: "Methods" -->
744
+ <h5><a name="label:133" id="label:133">Operation</a></h5><!-- RDLabel: "Operation" -->
745
+ <dl>
746
+ <dt><a name="label:134" id="label:134"><code>GD::Polygon#addPt(<var>x</var>, <var>y</var>)</code></a><!-- RDLabel: "GD::Polygon#addPt" -->
747
+ </dl>
748
+ <p>Adds a new point(vertex) from which the polygon is formed.</p>
749
+ <dl>
750
+ <dt><a name="label:135" id="label:135"><code>GD::Polygon#deletePt(<var>idx</var>)</code></a><!-- RDLabel: "GD::Polygon#deletePt" -->
751
+ </dl>
752
+ <p>Deletes the the specified <var>idx</var>-th elements of the vertices.</p>
753
+ <dl>
754
+ <dt><a name="label:136" id="label:136"><code>GD::Polygon#getPt(<var>idx</var>)</code></a><!-- RDLabel: "GD::Polygon#getPt" -->
755
+ </dl>
756
+ <p>Returns the value of the specified <var>idx</var>-th elements of the
757
+ vertices.</p>
758
+ <dl>
759
+ <dt><a name="label:137" id="label:137"><code>GD::Polygon#map(<var>dest_L</var>, <var>dest_T</var>, <var>dest_R</var>, <var>dest_B</var>)</code></a><!-- RDLabel: "GD::Polygon#map" -->
760
+ <dt><a name="label:137" id="label:137"><code>GD::Polygon#map([<var>src_L</var>, <var>src_T</var>, <var>src_R</var>, <var>src_B</var>,] <var>dest_L</var>, <var>dest_T</var>, <var>dest_R</var>, <var>dest_B</var>)</code></a><!-- RDLabel: "GD::Polygon#map" -->
761
+ </dl>
762
+ <p>Maps the polygon from a source rectangle to an equivalent position in
763
+ a destination rectangle, moving it and resizing it as necessary. Both
764
+ the source and destination rectangles are given in
765
+ (left,top,right,bottom) coordinates. See figure below.</p>
766
+ <p>This method takes 4 or 8 arguments. Note that if 4 arguments are
767
+ given, source rectangle are automatically computed as the bounding box
768
+ of the poligon, and maps it to the destination rectangle specified in
769
+ the arguments.</p>
770
+ <pre>&lt;source rectangle&gt; &lt;destination rectangle&gt;</pre>
771
+ <pre>(src_L, src_T) (dest_L, dest_T)
772
+ +--------------+ +----------+
773
+ | | | |
774
+ | | =&gt; | |
775
+ | | | |
776
+ +--------------+ | |
777
+ (src_R, src_B) +----------+
778
+ (dest_R, dest_B)</pre>
779
+ <dl>
780
+ <dt><a name="label:139" id="label:139"><code>GD::Polygon#offset(<var>dx</var>, <var>dy</var>)</code></a><!-- RDLabel: "GD::Polygon#offset" -->
781
+ </dl>
782
+ <p>Offsets all the vertices of the polygon by <var>dx</var> pixels
783
+ horizontally and <var>dy</var> pixels vertically.</p>
784
+ <dl>
785
+ <dt><a name="label:140" id="label:140"><code>GD::Polygon#setPt(<var>idx</var>, <var>new_x</var>, <var>new_y</var>)</code></a><!-- RDLabel: "GD::Polygon#setPt" -->
786
+ </dl>
787
+ <p>Changes the value of the specified <var>idx</var>-th elements of the
788
+ vertices to (<var>new_x</var>, <var>new_y</var>).</p>
789
+ <dl>
790
+ <dt><a name="label:141" id="label:141"><code>GD::Polygon#toPt(<var>dx</var>, <var>dy</var>)</code></a><!-- RDLabel: "GD::Polygon#toPt" -->
791
+ </dl>
792
+ <p>Draw from current vertex to a new vertex, using relative (<var>dx</var>,
793
+ <var>dy</var>) coordinates. If this is the first point, act like
794
+ <!-- Reference, RDLabel "GD::Image#addPt" doesn't exist --><em class="label-not-found">GD::Image#addPt</em><!-- Reference end -->.</p>
795
+ <dl>
796
+ <dt><a name="label:142" id="label:142"><code>GD::Polygon#scale(<var>sx</var>, <var>sy</var>)</code></a><!-- RDLabel: "GD::Polygon#scale" -->
797
+ </dl>
798
+ <p>Scales each vertex of the polygon by the X and Y factors indicated by
799
+ <var>sx</var> and <var>sy</var>. For best results, move the center of the
800
+ polygon to position (0,0) before you scale, then move it back to its
801
+ previous position.</p>
802
+ <dl>
803
+ <dt><a name="label:143" id="label:143"><code>GD::Polygon#transform(<var>sx</var>,<var>rx</var>,<var>sy</var>,<var>ry</var>,<var>tx</var>,<var>ty</var>)</code></a><!-- RDLabel: "GD::Polygon#transform" -->
804
+ </dl>
805
+ <p>Runs each vertex of the polygon through a transformation matrix, where
806
+ <var>sx</var> and <var>sy</var> are the X and Y scaling factors, <var>rx</var> and
807
+ <var>ry</var> are the X and Y rotation factors, and <var>tx</var> and <var>ty</var>
808
+ are X and Y offsets.</p>
809
+ <h5><a name="label:37" id="label:37">Query</a></h5><!-- RDLabel: "Query" -->
810
+ <dl>
811
+ <dt><a name="label:145" id="label:145"><code>GD::Polygon#bounds</code></a><!-- RDLabel: "GD::Polygon#bounds" -->
812
+ </dl>
813
+ <p>Returns the smallest rectangle that completely encloses the polygon.
814
+ The return value is an array containing the [left,top,right,bottom] of
815
+ the rectangle.</p>
816
+ <dl>
817
+ <dt><a name="label:146" id="label:146"><code>GD::Polygon#length</code></a><!-- RDLabel: "GD::Polygon#length" -->
818
+ </dl>
819
+ <p>Returns the number of the vertices.</p>
820
+ <dl>
821
+ <dt><a name="label:147" id="label:147"><code>GD::Polygon#vertices</code></a><!-- RDLabel: "GD::Polygon#vertices" -->
822
+ </dl>
823
+ <p>Returns all of the coodinates of the vertices as Array instance.</p>
824
+ <h1><a name="label:148" id="label:148">Class GD::Font</a></h1><!-- RDLabel: "Class GD::Font" -->
825
+ <h2><a name="label:20" id="label:20">Class Methods</a></h2><!-- RDLabel: "Class Methods" -->
826
+ <dl>
827
+ <dt><a name="label:150" id="label:150"><code>GD::Font.new(<var>name</var>)</code></a><!-- RDLabel: "GD::Font.new" -->
828
+ </dl>
829
+ <p>Creates a new font instance. The font is specified by its
830
+ <var>name</var>, which is one of "<em>Tiny</em>", "<em>Small</em>",
831
+ "<em>Medium</em>", "<em>Large</em>", "<em>Giant</em>". These strings correspond
832
+ to <a href="#label:161">GD::Font::TinyFont</a>, <a href="#label:160">GD::Font::SmallFont</a>,
833
+ <a href="#label:159">GD::Font::MediumFont</a>, <a href="#label:158">GD::Font::LargeFont</a>,
834
+ <a href="#label:157">GD::Font::GiantFont</a>, respectively.</p>
835
+ <p>The instance becomes the arguments in the charcter/string drawing
836
+ method such as <a href="#label:81">GD::Image#char</a>, <a href="#label:83">GD::Image#string</a>.</p>
837
+ <h2><a name="label:46" id="label:46">Methods</a></h2><!-- RDLabel: "Methods" -->
838
+ <dl>
839
+ <dt><a name="label:152" id="label:152"><code>GD::Font#height</code></a><!-- RDLabel: "GD::Font#height" -->
840
+ </dl>
841
+ <p>Returns the height of each character of the font.</p>
842
+ <dl>
843
+ <dt><a name="label:153" id="label:153"><code>GD::Font#nchars</code></a><!-- RDLabel: "GD::Font#nchars" -->
844
+ </dl>
845
+ <p>Returns the number of characeters in the font.</p>
846
+ <dl>
847
+ <dt><a name="label:154" id="label:154"><code>GD::Font#offset</code></a><!-- RDLabel: "GD::Font#offset" -->
848
+ </dl>
849
+ <p>Returns the offset of the first character in the font.</p>
850
+ <dl>
851
+ <dt><a name="label:155" id="label:155"><code>GD::Font#width</code></a><!-- RDLabel: "GD::Font#width" -->
852
+ </dl>
853
+ <p>Returns the width of each character of the font.</p>
854
+ <h2><a name="label:3" id="label:3">Constants</a></h2><!-- RDLabel: "Constants" -->
855
+ <p>These constants also becomes the arguments in the charcter/string
856
+ drawing method such as <a href="#label:81">GD::Image#char</a>, <a href="#label:83">GD::Image#string</a>.</p>
857
+ <dl>
858
+ <dt><a name="label:157" id="label:157"><code>GD::Font::GiantFont</code></a><!-- RDLabel: "GD::Font::GiantFont" -->
859
+ </dl>
860
+ <p>This stands for 9x15 bold font:</p>
861
+ <pre>-Misc-Fixed-Bold-R-Normal-Sans-15-140-75-75-C-90-ISO8859-2</pre>
862
+ <dl>
863
+ <dt><a name="label:158" id="label:158"><code>GD::Font::LargeFont</code></a><!-- RDLabel: "GD::Font::LargeFont" -->
864
+ </dl>
865
+ <p>This stands for the public domain 8x16 font:</p>
866
+ <pre>-misc-fixed-medium-r-normal--16-140-75-75-c-80-iso8859-2</pre>
867
+ <dl>
868
+ <dt><a name="label:159" id="label:159"><code>GD::Font::MediumFont</code></a><!-- RDLabel: "GD::Font::MediumFont" -->
869
+ </dl>
870
+ <p>This stands for the a public domain 7x13 font:</p>
871
+ <pre>-misc-fixed-bold-r-normal-sans-13-94-100-100-c-70-iso8859-2</pre>
872
+ <dl>
873
+ <dt><a name="label:160" id="label:160"><code>GD::Font::SmallFont</code></a><!-- RDLabel: "GD::Font::SmallFont" -->
874
+ </dl>
875
+ <p>This stands for a well known public domain 6x12 font:</p>
876
+ <pre>-misc-fixed-medium-r-semicondensed-sans-12-116-75-75-c-60-iso8859-2</pre>
877
+ <dl>
878
+ <dt><a name="label:161" id="label:161"><code>GD::Font::TinyFont</code></a><!-- RDLabel: "GD::Font::TinyFont" -->
879
+ </dl>
880
+ <p>This stands for almost unreadable font, 5x8 pixels wide:</p>
881
+ <pre>-Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO8859-2</pre>
882
+ <h1><a name="label:162" id="label:162">Reference</a></h1><!-- RDLabel: "Reference" -->
883
+ <ul>
884
+ <li>index.html distributed with gd-1.8.4</li>
885
+ <li>index.html distributed with gd-2.0.1</li>
886
+ <li>gd.h distributed with gd-2.0.1</li>
887
+ <li>documents embedded in GD.pm version 1.30</li>
888
+ </ul>
889
+
890
+ </body>
891
+ </html>