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

224 lines
7.3 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.imageftbbox" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>imageftbbox</refname>
<refpurpose>
Определение границ текста выводимого шрифтом freetype2
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>array</type><type>false</type></type><methodname>imageftbbox</methodname>
<methodparam><type>float</type><parameter>size</parameter></methodparam>
<methodparam><type>float</type><parameter>angle</parameter></methodparam>
<methodparam><type>string</type><parameter>font_filename</parameter></methodparam>
<methodparam><type>string</type><parameter>string</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>options</parameter><initializer>[]</initializer></methodparam>
</methodsynopsis>
<para>
Эта функция рассчитывает и возвращает рамку (границы) FreeType текста.
</para>
<note>
<para>
До PHP 8.0.0 <function>imageftbbox</function> - это расширенный вариант
<function>imagettfbbox</function>, который дополнительно поддерживает
<parameter>extrainfo</parameter>.
Начиная с 8.0.0, <function>imagettfbbox</function> является псевдонимом <function>imageftbbox</function>.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>size</parameter></term>
<listitem>
<para>&gd.font.size;</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>angle</parameter></term>
<listitem>
<para>
Угол в градусах в котором <parameter>string</parameter> должен быть измерен.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>font_filename</parameter></term>
<listitem>
<para>
Имя файла TrueType шрифта (может быть URL). В зависимости от версии GD
библиотеки функция может попытаться найти файлы, не начинающиеся с
'/' путём добавления '.ttf' в конец имени файла и поиска по адресу заданному
в библиотеке.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>string</parameter></term>
<listitem>
<para>
Измеряемая строка.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>options</parameter></term>
<listitem>
<para>
<table>
<title>Возможные ключи массива <parameter>options</parameter></title>
<tgroup cols="2">
<thead>
<row>
<entry>Ключ</entry>
<entry>Тип</entry>
<entry>Значение</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>linespacing</literal></entry>
<entry><type>float</type></entry>
<entry>Определяет рисование подчёркиваний</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<function>imageftbbox</function> возвращает массив из 8 элементов, представляющих
четыре точки в углах рамки обрамляющей текст:
<informaltable>
<tgroup cols="2">
<tbody>
<row>
<entry>0</entry>
<entry>нижний левый угол, X координата</entry>
</row>
<row>
<entry>1</entry>
<entry>нижний левый угол, Y координата</entry>
</row>
<row>
<entry>2</entry>
<entry>нижний правый угол, X координата</entry>
</row>
<row>
<entry>3</entry>
<entry>нижний правый угол, Y координата</entry>
</row>
<row>
<entry>4</entry>
<entry>верхний правый угол, X координата</entry>
</row>
<row>
<entry>5</entry>
<entry>верхний правый угол, Y координата</entry>
</row>
<row>
<entry>6</entry>
<entry>верхний левый угол, X координата</entry>
</row>
<row>
<entry>7</entry>
<entry>верхний левый угол, Y координата</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
<para>
Точки расположены относительно текста <emphasis>text</emphasis> и не зависят от
угла <parameter>angle</parameter>, таким образом "верхний левый" означает верхняя
левая точка текста, если расположить текст горизонтально.
</para>
<para>
В случае возникновения ошибки возвращает &false;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>imageftbbox</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Создание изображения 300x150
$im = imagecreatetruecolor(300, 150);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
// установка белого фона
imagefilledrectangle($im, 0, 0, 299, 299, $white);
// путь к файлу шрифта
$font = './arial.ttf';
// создаём рамку вокруг текста
$bbox = imageftbbox(10, 0, $font, 'Группа документирования PHP');
// наши координаты для X и Y
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 5;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;
imagefttext($im, 10, 0, $x, $y, $black, $font, 'Группа документирования PHP');
// вывод в броузер
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&note.freetype;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>imagefttext</function></member>
<member><function>imagettfbbox</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
-->