array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.ps-begin-template.php', 1 => 'ps_begin_template', ), 'up' => array ( 0 => 'ref.ps.php', 1 => 'PS 関数', ), 'prev' => array ( 0 => 'function.ps-begin-pattern.php', 1 => 'ps_begin_pattern', ), 'next' => array ( 0 => 'function.ps-circle.php', 1 => 'ps_circle', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/ps/functions/ps-begin-template.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL ps >= 1.2.0)
ps_begin_template — 新しいテンプレートを開始する
新しいテンプレートを開始します。テンプレートは、postscript 言語からコールされます。パターンと似ていますが、画像のように使用されます。 テンプレートは、ドキュメント内で何回も使用される描画内容、 例えば会社のロゴなどに対して使用されることが多いでしょう。 テンプレート内では、すべての描画関数が使用されます。 テンプレートは、ps_place_image() によって配置されるまでは描画されません。
例1 テンプレートの作成および使用
<?php
$ps = ps_new();
if (!ps_open_file($ps, "template.ps")) {
print "PostScript ファイルをオープンできません\n";
exit;
}
ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "template.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Template example");
$pstemplate = ps_begin_template($ps, 30.0, 30.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 30, 30);
ps_moveto($ps, 0, 30);
ps_lineto($ps, 30, 0);
ps_stroke($ps);
ps_end_template($ps);
ps_begin_page($ps, 596, 842);
ps_place_image($ps, $pstemplate, 20.0, 20.0, 1.0);
ps_place_image($ps, $pstemplate, 50.0, 30.0, 0.5);
ps_place_image($ps, $pstemplate, 70.0, 70.0, 0.6);
ps_place_image($ps, $pstemplate, 30.0, 50.0, 1.3);
ps_end_page($ps);
ps_close($ps);
ps_delete($ps);
?>