-
Notifications
You must be signed in to change notification settings - Fork 49
/
imagefttext.xml
258 lines (251 loc) · 8.05 KB
/
imagefttext.xml
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 235f3d10c6151423fb0e03f090d335e336aa31fc Maintainer: seros Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id='function.imagefttext' xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>imagefttext</refname>
<refpurpose>Escribir texto en la imagen usando fuentes mediante FreeType 2</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>imagefttext</methodname>
<methodparam><type>resource</type><parameter>image</parameter></methodparam>
<methodparam><type>float</type><parameter>size</parameter></methodparam>
<methodparam><type>float</type><parameter>angle</parameter></methodparam>
<methodparam><type>int</type><parameter>x</parameter></methodparam>
<methodparam><type>int</type><parameter>y</parameter></methodparam>
<methodparam><type>int</type><parameter>color</parameter></methodparam>
<methodparam><type>string</type><parameter>fontfile</parameter></methodparam>
<methodparam><type>string</type><parameter>text</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>extrainfo</parameter></methodparam>
</methodsynopsis>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&gd.image.description;
<varlistentry>
<term><parameter>size</parameter></term>
<listitem>
<para>
El tamaño de la fuente que va a ser usada, en puntos.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>angle</parameter></term>
<listitem>
<para>
El ángulo en grados, siendo 0 grados la lectura del texto de izquierda a derecha.
Valores mayores representan una rotación en sentido contrario al de las agujas del reloj.
Por ejemplo, un valor de 90 resultaria en la lectura de texto de abajo a arriba.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>x</parameter></term>
<listitem>
<para>
Las coordenadas dadas por <parameter>x</parameter> e
<parameter>y</parameter> definirán el punto de referencia del primer
carácter (aproximadamente la esquina inferior izquierda del carácter). Esto
es diferente de <function>imagestring</function>, donde
<parameter>x</parameter> e <parameter>y</parameter> definen la
esquina superior izquierda del primer carácter. Por ejemplo, "superior izquierda"
es 0, 0.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>y</parameter></term>
<listitem>
<para>
La coordenada y. Esto establece la posición de la línea base de las fuentes, no la del
pie del carácter.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>color</parameter></term>
<listitem>
<para>
El índice del color deseado para el texto, véase
<function>imagecolorexact</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>fontfile</parameter></term>
<listitem>
<para>
La ruta de la fuente TrueType que se desea usar.
</para>
<para>
Dependiendo de la versión de GD que esté usando PHP, <emphasis>cuando
<parameter>fontfile</parameter> no comienza con un
<literal>/</literal> inicial, <literal>.ttf</literal> será añadido</emphasis>
al nombre de archivo, y la biblioteca intentará buscar ese
nombre de archivo en una ruta de biblioteca definida de fuentes.
</para>
<para>
Cuando se usan versiones de la biblioteca GD anteriores a 2.0.18, un carácter
<literal>espacio</literal>, en vez de un punto y coma, es usado como el 'separador de ruta'
para diferentes archivos de fuente. El uso involuntario de esta característica resultará en
en el mensaje de advertencia: <literal>Warning: Could not find/open font</literal>.
La única solución para estas versiones afectadas es mover la fuente a una ruta que no
contenga espacios.
</para>
<para>
En muchos casos donde una fuente reside en el mismo derectorio que el script,
el siguiente truco paliará cualquier problema de inclusión.
<programlisting role="php">
<![CDATA[
<?php
// Establecer la variable de entorno para GD
putenv('GDFONTPATH=' . realpath('.'));
// Nombrar la fuente que va ser usada (observe la ausencia de la extensión .ttf)
$fuente = 'UnaFuente';
?>
]]>
</programlisting>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>text</parameter></term>
<listitem>
<para>
Texto que va a ser insertado en la imagen.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>extrainfo</parameter></term>
<listitem>
<para>
<table>
<title>Posibles índeces de matriz para <parameter>extrainfo</parameter></title>
<tgroup cols="2">
<thead>
<row>
<entry>Clave</entry>
<entry>Tipo</entry>
<entry>Significado</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>linespacing</literal></entry>
<entry><type>float</type></entry>
<entry>Define el espacio entre líneas</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Esta función devuelve una matriz que define los cuatro puntos de la caja, comenzado por el
inferior izquierdo y moviéndose en el sentido de las agujas del reloj:
<informaltable>
<tgroup cols="2">
<tbody>
<row>
<entry>0</entry>
<entry>esquina inferior izquierda, posición X</entry>
</row>
<row>
<entry>1</entry>
<entry>esquina inferior izquierda, posición Y</entry>
</row>
<row>
<entry>2</entry>
<entry>esquina inferior derecha, posición X</entry>
</row>
<row>
<entry>3</entry>
<entry>esquina inferior derecha, posición Y</entry>
</row>
<row>
<entry>4</entry>
<entry>esquina superior derecha, posición X</entry>
</row>
<row>
<entry>5</entry>
<entry>esquina superior derecha, posición Y</entry>
</row>
<row>
<entry>6</entry>
<entry>esquina superior izquierda, posición X</entry>
</row>
<row>
<entry>7</entry>
<entry>esquina superior izquierda posición Y</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>imagefttext</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Crear una imagen de 300x100
$im = imagecreatetruecolor(300, 100);
$rojo = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$negro = imagecolorallocate($im, 0x00, 0x00, 0x00);
// Hacer el fondo rojo
imagefilledrectangle($im, 0, 0, 299, 99, $rojo);
// Ruta a nuestro archivo de fuente ttf
$archivo_fuente = './arial.ttf';
// Dibuja el texto 'PHP Manual' usando un tamaño de fuente de 13
imagefttext($im, 13, 0, 105, 55, $negro, $archivo_fuente, 'PHP Manual');
// Imprimir la imagen al navegador
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
¬e.freetype;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->