1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
|
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
<title>Cairo::Patternクラス</title>
<link href="../doc.css" type="text/css" rel="stylesheet" />
</head>
<div class="footer">
<ul>
<li><a href="./">索引</a></li>
</ul>
</div>
</body>
<h1><a name="label-0" id="label-0">Cairo::Patternクラス</a></h1><!-- RDLabel: "Cairo::Patternクラス" -->
<p>サーフェス上に描画するときのソースを表します。ソースの種類に
よっていくつかサブクラスがあります。例えば、
<a href="cairo-solid-pattern.html">Cairo::SolidPattern</a>は単色のパターンを作ります。</p>
<h2><a name="label-1" id="label-1">オブジェクト階層</a></h2><!-- RDLabel: "オブジェクト階層" -->
<ul>
<li>Object
<ul>
<li>Cairo::Pattern</li>
</ul></li>
</ul>
<h2><a name="label-2" id="label-2">クラスメソッド</a></h2><!-- RDLabel: "クラスメソッド" -->
<dl>
<dt><a name="label-3" id="label-3"><code>Cairo::Pattern.new</code></a></dt><!-- RDLabel: "Cairo::Pattern.new" -->
<dd>
使えません。</dd>
</dl>
<h2><a name="label-4" id="label-4">インタンスメソッド</a></h2><!-- RDLabel: "インタンスメソッド" -->
<dl>
<dt><a name="label-5" id="label-5"><code>__extend__</code></a></dt><!-- RDLabel: "__extend__" -->
<dd>
Object#extendの別名です。</dd>
<dt><a name="label-6" id="label-6"><code>extend</code></a></dt><!-- RDLabel: "extend" -->
<dd>
現在の引き延ばしモードを返します。各引き延ばしモードの意
味の詳細は<a href="cairo-extend.html">Cairo::Extend</a>を見てください。
<ul>
<li>戻り値: <a href="cairo-extend.html">Cairo::Extend</a>に定義されている定数のどれか。</li>
</ul></dd>
<dt><a name="label-7" id="label-7"><code>extend=(<var>extend</var>)</code></a></dt><!-- RDLabel: "extend=" -->
<dt><a name="label-8" id="label-8"><code>set_extend(<var>extend</var>)</code></a></dt><!-- RDLabel: "set_extend" -->
<dd>
パターンの外側の領域を描画するときに使うモードを指定し
ます。各引き延ばしモードの意味の詳細は<a href="cairo-extend.html">Cairo::Extend</a>を見
てください。
<ul>
<li>extend: :noneや:repeatなど<a href="cairo-extend.html">Cairo::Extend</a>に定義
されている定数名と同じもの。大文字小文字は関
係ありません。また、シンボルではなくて文字列で
"none"のように指定することもできます。もちろん、
<a href="cairo-extend.html">Cairo::Extend</a>に定義されている定数を指定するこ
ともできます。</li>
</ul></dd>
<dt><a name="label-9" id="label-9"><code>filter</code></a></dt><!-- RDLabel: "filter" -->
<dd>
現在のフィルタを返します。各フィルタの詳細は
<a href="cairo-filter.html">Cairo::Filter</a>を見てください。
<ul>
<li>戻り値: パターンの大きさを変えるときに使う現在のフィ
ルタ。</li>
</ul></dd>
<dt><a name="label-10" id="label-10"><code>filter=(<var>filter</var>)</code></a></dt><!-- RDLabel: "filter=" -->
<dt><a name="label-11" id="label-11"><code>set_filter(<var>filter</var>)</code></a></dt><!-- RDLabel: "set_filter" -->
<dd>
パターンの大きさを変えるときに使う現在のフィルタを設定
します。各フィルタの詳細は<a href="cairo-filter.html">Cairo::Filter</a>を見てください。
<ul>
<li>filter: :fastや:gaussianなど<a href="cairo-filter.html">Cairo::Filter</a>に定義
されている定数名と同じもの。大文字小文字は関
係ありません。また、シンボルではなくて文字列で
"fast"のように指定することもできます。もちろん、
<a href="cairo-filter.html">Cairo::Filter</a>に定義されている定数を指定するこ
ともできます。</li>
</ul></dd>
<dt><a name="label-12" id="label-12"><code>matrix</code></a></dt><!-- RDLabel: "matrix" -->
<dd>
パターンの変換行列を返します。
<ul>
<li>戻り値: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
</ul></dd>
<dt><a name="label-13" id="label-13"><code>matrix=(<var>matrix</var>)</code></a></dt><!-- RDLabel: "matrix=" -->
<dt><a name="label-14" id="label-14"><code>set_matrix(<var>matrix</var>)</code></a></dt><!-- RDLabel: "set_matrix" -->
<dd>
<p>パターンの変換行列を指定します。この行列はユーザ空間か
らパターン空間に変換するときに使います。</p>
<p>パターンを作ったときはいつも単位行列です。これは最初は
パターン空間はユーザ空間と同じであるということです。</p>
<p>重要: ユーザ空間からパターン空間への変換行列の方向に注
意してください。これは、パターンからユーザ空間(そして装
置空間)という流れの場合、座標はパターン行列の逆行列で
変換されるということです。</p>
<p>例えば、2倍の大きさのパターンを作りたいとしたら、以下が
正しいコードです。</p>
<pre>pattern.matrix = Cairo::Matrix.scale(0.5, 0.5)</pre>
<p>一方、上記のコードで0.5ではなく2.0を使うとパターンは半
分の大きさになります。</p>
<p><a href="cairo-context.html#label-104">Cairo::Context#set_source</a>のユーザ空間ロック動作の議論に
も注意してください。</p>
<ul>
<li>matrix: <a href="cairo-matrix.html">Cairo::Matrix</a>オブジェクト。</li>
</ul></dd>
</dl>
<h2><a name="label-15" id="label-15">参考</a></h2><!-- RDLabel: "参考" -->
<ul>
<li><a href="index.html#label-0">索引</a></li>
</ul>
<h2><a name="label-16" id="label-16">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
<ul>
<li>2007-05-22: kou: スタート。</li>
</ul>
<div class="footer">
<ul>
<li><a href="./">索引</a></li>
</ul>
</div>
</body>
</html>
|