mirror of
https://github.com/php/doc-ru.git
synced 2026-04-26 16:58:14 +02:00
6d43fd64d7
[skip-spellcheck] [skip-lint]
232 lines
8.8 KiB
XML
232 lines
8.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 593ea510e853ff034e03f78a4be0daa41661c9d4 Maintainer: tmn Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
<refentry xml:id="function.imagettftext" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
<refnamediv>
|
||
<refname>imagettftext</refname>
|
||
<refpurpose>
|
||
Рисование текста на изображении шрифтом TrueType
|
||
</refpurpose>
|
||
</refnamediv>
|
||
<refsect1 role="description">
|
||
&reftitle.description;
|
||
<methodsynopsis>
|
||
<type class="union"><type>array</type><type>false</type></type><methodname>imagettftext</methodname>
|
||
<methodparam><type>GdImage</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>font_filename</parameter></methodparam>
|
||
<methodparam><type>string</type><parameter>text</parameter></methodparam>
|
||
<methodparam choice="opt"><type>array</type><parameter>options</parameter><initializer>[]</initializer></methodparam>
|
||
</methodsynopsis>
|
||
<para>
|
||
Наносит текст <parameter>text</parameter> поверх изображения, используя TrueType
|
||
шрифт.
|
||
</para>
|
||
<note>
|
||
<para>
|
||
До PHP 8.0.0 <function>imagefttext</function> - это расширенный вариант
|
||
<function>imagettftext</function>, который дополнительно поддерживает
|
||
<parameter>extrainfo</parameter>.
|
||
Начиная с PHP 8.0.0, <function>imagettftext</function> является псевдонимом <function>imagefttext</function>.
|
||
</para>
|
||
</note>
|
||
</refsect1>
|
||
<refsect1 role="parameters">
|
||
&reftitle.parameters;
|
||
<para>
|
||
<variablelist>
|
||
&gd.image.description;
|
||
<varlistentry>
|
||
<term><parameter>size</parameter></term>
|
||
<listitem>
|
||
<para>&gd.font.size;</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><parameter>angle</parameter></term>
|
||
<listitem>
|
||
<para>
|
||
Угол в градусах, 0 градусов означает расположение текста слева направо.
|
||
Положительные значения означают поворот текста против часовой стрелки.
|
||
Например, текст повёрнутый на 90 градусов нужно будет читать снизу вверх.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><parameter>x</parameter></term>
|
||
<listitem>
|
||
<para>
|
||
Координаты <parameter>x</parameter> и <parameter>y</parameter> определяют
|
||
отправную точку для первого символа текста (конкретно, левый нижний угол
|
||
символа). Здесь есть отличие от функции <function>imagestring</function>,
|
||
в которой <parameter>x</parameter> и <parameter>y</parameter> определяют
|
||
верхний левый угол первого символа. Например, "верхний левый" имеет
|
||
координаты 0,0.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><parameter>y</parameter></term>
|
||
<listitem>
|
||
<para>
|
||
y-координата. Это позиция базовой линии шрифта, в общем случае она не
|
||
совпадает с низшей точкой в символе.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><parameter>color</parameter></term>
|
||
<listitem>
|
||
<para>
|
||
Индекс цвета. Использование отрицательных индексов создаёт эффект
|
||
выключенного сглаживания. Смотрите <function>imagecolorallocate</function>.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
&gd.ttf.fontfile;
|
||
<varlistentry>
|
||
<term><parameter>text</parameter></term>
|
||
<listitem>
|
||
<para>
|
||
Текстовая строка в кодировке UTF-8.
|
||
</para>
|
||
<para>
|
||
Для доступа к символам после 127го можно использовать числовые ссылки
|
||
(в формате: &#8364;). Также поддерживается шестнадцатеричный формат
|
||
(&#xA9;). Строки в кодировке UTF-8 можно передавать напрямую.
|
||
</para>
|
||
<para>
|
||
Именованные сущности, вроде &copy;, не поддерживаются. Используйте
|
||
функцию <function>html_entity_decode</function>, чтобы декодировать их в
|
||
UTF-8 строки.
|
||
</para>
|
||
<para>
|
||
Если символ не поддерживается шрифтом, вместо него будет нарисован
|
||
незакрашенный прямоугольник.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
</refsect1>
|
||
<refsect1 role="returnvalues">
|
||
&reftitle.returnvalues;
|
||
<para>
|
||
Возвращает массив из 8 элементов, представляющих 4 точки - координаты углов
|
||
рамки обрамляющей текст. Точки представлены в таком порядке: левый нижний угол,
|
||
правый нижний, верхний правый, верхний левый. Углы указаны относительно текста,
|
||
то есть "верхний левый" означает верхний левый угол текста, если расположить его
|
||
горизонтально. В случае возникновения ошибки функция вернёт &false;.
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="changelog">
|
||
&reftitle.changelog;
|
||
<informaltable>
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>&Version;</entry>
|
||
<entry>&Description;</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>8.0.0</entry>
|
||
<entry>
|
||
Добавлен параметр <parameter>options</parameter>.
|
||
</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
</refsect1>
|
||
|
||
<refsect1 role="examples">
|
||
&reftitle.examples;
|
||
<para>
|
||
<example>
|
||
<title>Пример использования <function>imagettftext</function></title>
|
||
<para>
|
||
В этом примере будет создано изображение PNG с белым фоном размером 400x30
|
||
пикселов и надписью "Тест..." черным цветом (с серой тенью) шрифтом Arial.
|
||
</para>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
// Тип содержимого
|
||
header('Content-Type: image/png');
|
||
|
||
// Создание изображения
|
||
$im = imagecreatetruecolor(400, 30);
|
||
|
||
// Создание цветов
|
||
$white = imagecolorallocate($im, 255, 255, 255);
|
||
$grey = imagecolorallocate($im, 128, 128, 128);
|
||
$black = imagecolorallocate($im, 0, 0, 0);
|
||
imagefilledrectangle($im, 0, 0, 399, 29, $white);
|
||
|
||
// Текст надписи
|
||
$text = 'Тест...';
|
||
// Замена пути к шрифту на пользовательский
|
||
$font = 'arial.ttf';
|
||
|
||
// Тень
|
||
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
|
||
|
||
// Текст
|
||
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
|
||
|
||
imagepng($im);
|
||
imagedestroy($im);
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
&example.outputs.similar;
|
||
<mediaobject>
|
||
<alt>Вывод примера: imagettftext()</alt>
|
||
<imageobject>
|
||
<imagedata fileref="en/reference/image/figures/imagettftext.png"/>
|
||
</imageobject>
|
||
</mediaobject>
|
||
</example>
|
||
</para>
|
||
</refsect1>
|
||
<refsect1 role="notes">
|
||
&reftitle.notes;
|
||
¬e.freetype;
|
||
</refsect1>
|
||
|
||
<refsect1 role="seealso">
|
||
&reftitle.seealso;
|
||
<simplelist>
|
||
<member><function>imagettfbbox</function></member>
|
||
<member><function>imagefttext</function></member>
|
||
</simplelist>
|
||
</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
|
||
-->
|