1
0
mirror of https://github.com/php/doc-ru.git synced 2026-04-26 16:58:14 +02:00
Files
archived-doc-ru/reference/image/functions/imagettftext.xml
T
Sergey Panteleev 6d43fd64d7 Исправление форматирования
[skip-spellcheck]
[skip-lint]
2022-12-27 03:42:36 +03:00

232 lines
8.8 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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го можно использовать числовые ссылки
(в формате: &amp;#8364;). Также поддерживается шестнадцатеричный формат
(&amp;#xA9;). Строки в кодировке UTF-8 можно передавать напрямую.
</para>
<para>
Именованные сущности, вроде &amp;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;
&note.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
-->