ps_translate

(PECL ps >= 1.1.0)

ps_translateИзменяет систему координат

Описание

ps_translate(resource $psdoc, float $x, float $y): bool

Устанавливает новую начальную точку системы координат.

Список параметров

psdoc

Идентификатор ресурса файла postscript, возвращённый функцией ps_new().

x

Координата X начала изменённой системы координат.

y

Координата Y начала изменённой системы координат.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false в случае возникновения ошибки.

Примеры

Пример #1 Изменение системы координат

<?php
function rectangle($ps) {
    
ps_moveto($ps00);
    
ps_lineto($ps050);
    
ps_lineto($ps5050);
    
ps_lineto($ps500);
    
ps_lineto($ps00);
    
ps_stroke($ps);
}

$ps ps_new();
if (!
ps_open_file($ps"translate.ps")) {
  print 
"Не удается открыть файл PostScript\n";
  exit;
}

ps_set_info($ps"Creator""translate.php");
ps_set_info($ps"Author""Уве Штайнманн");
ps_set_info($ps"Title""Пример перевода");
ps_set_info($ps"BoundingBox""0 0 596 842");

$psfont ps_findfont($ps"Helvetica"""0);

ps_begin_page($ps596842);
ps_set_text_pos($ps100100);
ps_translate($ps500750);
rectangle($ps);
ps_translate($ps, -500, -750);
ps_setfont($ps$psfont8.0);
ps_show($ps"Текст в исходной позиции");
ps_end_page($ps);

ps_begin_page($ps596842);
ps_set_text_pos($ps100100);
ps_save($ps);
ps_translate($ps500750);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps$psfont8.0);
ps_show($ps"Текст в исходной позиции");
ps_end_page($ps);

ps_delete($ps);
?>

Приведённый выше пример демонстрирует два возможных способа разместить графику (в данном случае просто прямоугольник) в любой позиции на странице, в то время как сама графика использует свою собственную систему координат. Хитрость заключается в том, чтобы изменить начало текущей системы координат перед рисованием прямоугольника. Изменение системы координат необходимо отменить после того, как рисунок был нарисован.

На второй странице применён несколько иной и более элегантный подход. Вместо отмены изменения вторым вызовом ps_translate(), графический контекст сохраняется до изменения системы координат и восстанавливается после рисования прямоугольника.

Смотрите также

  • ps_scale() - Устанавливает коэффициент масштабирования
  • ps_rotate() - Устанавливает коэффициент вращения

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top