Files
php-doc-ru/reference/ps/functions/ps-rotate.xml
Sergey Panteleev 7c5429ce4e Исправление форматирования
[skip-lint]
[skip-spellcheck]
2021-10-21 10:02:49 +03:00

149 lines
4.6 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: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.ps-rotate" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>ps_rotate</refname>
<refpurpose>Устанавливает коэффициент вращения</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>ps_rotate</methodname>
<methodparam><type>resource</type><parameter>psdoc</parameter></methodparam>
<methodparam><type>float</type><parameter>rot</parameter></methodparam>
</methodsynopsis>
<para>
Устанавливает поворот системы координат.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>psdoc</parameter></term>
<listitem>
<para>
Идентификатор ресурса файла postscript,
возвращённый <function>ps_new</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>rot</parameter></term>
<listitem>
<para>
Угол поворота в градусах.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Вращение системы координат</title>
<programlisting role="php">
<![CDATA[
<?php
function rectangle($ps) {
ps_moveto($ps, 0, 0);
ps_lineto($ps, 0, 50);
ps_lineto($ps, 50, 50);
ps_lineto($ps, 50, 0);
ps_lineto($ps, 0, 0);
ps_stroke($ps);
}
$ps = ps_new();
if (!ps_open_file($ps, "rotation.ps")) {
print "Не удаётся открыть файл PostScript\n";
exit;
}
ps_set_info($ps, "Creator", "rotation.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Rotation example");
ps_set_info($ps, "BoundingBox", "0 0 596 842");
$psfont = ps_findfont($ps, "Helvetica", "", 0);
ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 100, 100);
ps_rotate($ps, 45);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Текст без поворота");
ps_end_page($ps);
ps_delete($ps);
?>
]]>
</programlisting>
<para>
В приведённом выше примере показан очень распространённый способ поворота изображения
(в данном случае просто прямоугольника) путём поворота системы координат.
Поскольку система координат графики предполагает, что (0,0) является началом координат,
система координат страницы также переводится, чтобы разместить графику не на краю страницы.
Обратите внимание на порядок <function>ps_translate</function> и
<function>ps_rotate</function>. В приведённом выше примере прямоугольник
вращается вокруг точки (100, 100) в непереведённой системе координат.
Переключение двух операторов даёт совершенно другой результат.
</para>
<para>
Чтобы вывести следующий текст в исходной позиции, все модификации системы координат инкапсулируются
в <function>ps_save</function> и <function>ps_restore</function>.
</para>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>ps_scale</function></member>
<member><function>ps_translate</function></member>
</simplelist>
</para>
</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
-->