mirror of
https://github.com/php/doc-ru.git
synced 2025-08-20 23:31:15 +00:00
149 lines
4.6 KiB
XML
149 lines
4.6 KiB
XML
<?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
|
||
-->
|
||
|