Inkscapeの自作のパターンは、それを作成したファイル内でしか使えない。
別のファイルを開くと、その中ではさっき作ったパターンは使えない。
いろいろ検索した結果、初期設定のパターンはpatterns.svgに保存されているようなので、ここに自分で作ったパターンを追加すればいいようだ。
patterns.svgは、私の環境では
inkscape-0.48.5¥share¥inkscape¥patterns
にあった。
本格的にInkscapeを使い始めて数日なので、ベストの方法である保証はない。
あっちこっち見てまわって、何となくうまくいった方法を、覚書として残しておく。
1.Inkscapeを起動してパターンにするオブジェクトを作成する。
今回はこんなのを作った。
適当な位置に作成するとあとでパターンとして読み込む際の位置あわせがうまくいかなかったので、原点である左下、あるいは左上あたりに作図するのがいいようだ。
2.作成したオブジェクトをパターンに変換する。
3.ファイルとして保存する。
4.保存したファイルをテキスト・エディタで開き、<pattern から</pattern>をコピーして、
5.patterns.svgの<patternの上に挿入する。
つまり、<pattern から</pattern>までが1つのパターンをあらわす。
6.貼り付けたコードの以下の部分を編集・追加する。
<pattern
patternUnits=”userSpaceOnUse”
の間に
inkscape:collect=”always”
を追加して
<pattern
inkscape:collect=”always”
patternUnits=”userSpaceOnUse”
とする。
patternTransform=”translate(0,###.###)”
を
patternTransform=”translate(0,0) scale(1,1)”
と書き換え、
id=”pattern####”>
のあとに
inkscape:stockid=”pattern####”>
を加えて
id=”pattern####”
inkscape:stockid=”pattern####”>
とする。
id=”g####”
id=”rect####”
などをすべて消去する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<pattern inkscape:collect="always" patternUnits="userSpaceOnUse" width="70.866142" height="70.866142" patternTransform="translate(0,0) scale(1,1)" id="pattern8068" inkscape:stockid="pattern8068"> <g transform="translate(0,-981.49603)"> <rect style="fill:#ffffff;fill-opacity:1" width="70.866142" height="70.866142" x="0" y="981.49603" /> <rect style="fill:#000000;fill-opacity:1" width="53.149605" height="53.149605" x="8.8582678" y="990.35431" /> </g> </pattern> |
「pattern####」については任意で分かりやすいものに変更していい。
7.patterns.svgを保存する。
以上で、自作のパターンが初期のパターンに追加され、どのファイルからも使えるようになる。
Tweet