SunshinePHP Developer Conference 2015

ps_rotate

(PECL ps >= 1.1.0)

ps_rotate回転の程度を設定する

説明

bool ps_rotate ( resource $psdoc , float $rot )

座標系の回転を設定します。

パラメータ

psdoc

ps_new() が返す、postscript ファイルのリソース ID。

rot

回転角度を度単位で指定します。

返り値

成功した場合に 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"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($ps596842);
ps_set_text_pos($ps100100);
ps_save($ps);
ps_translate($ps100100);
ps_rotate($ps45);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps$psfont8.0);
ps_show($ps"Text without rotation");
ps_end_page($ps);

ps_delete($ps);
?>

上の例では、座標系を回転させることによって、図形 (ここでは単なる矩形) を回転させるという一般的な方法を説明しています。 図形の座標系は (0,0) を起点とみなしているため、 図形がページの端にない場合には座標系の変換も行います。 ps_translate() および ps_rotate() の順番には気をつけてください。 上の例では、変換前の座標系での (100, 100) を基準として矩形を回転させています。 2 つの文の順序を入れ替えると、まったく異なる結果となります。

これ以降のテキストをもとの位置に出力させるには、 ps_save() および ps_restore() を使用して、座標系に関する変更内容をカプセル化します。

参考

add a note add a note

User Contributed Notes

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