mieki256's diary



2016/10/06(木) [n年前の日記]

#1 [gimp][scheme] GIMPのScript-fuで文字列のゼロ埋め

GIMP の Script-fu というか TinyScheme で、数値から文字列に変換したものを桁揃え? ゼロ埋め? ゼロパディング? とにかくそういう感じの処理ができるか試したり。

GIMP起動後、フィルタ → Script-fu → Script-fuコンソール、を起動して、以下のように打ち込みながら動作確認。
> (define cnt 3)
cnt
> cnt
3
> (number->string cnt)
"3"
> (string-append "0000" (number->string cnt))
"00003"
> (define str (string-append "0000" (number->string cnt)))
str
> str
"00003"
> (substring str (- (string-length str) 3) (string-length str))
"003"
> (substring str (- (string-length str) 4) (string-length str))
"0003"
> (substring str (- (string-length str) 2) (string-length str))
"03"

要するに…。
ということで、できそうだなと。

一行で書くと、こうだろうか。
> (let* ((s (string-append "0000" (number->string cnt))) (n (string-length s))) (substring s (- n 2) n))
"03"

#2 [gimp] GIMPのブラシ画像ファイルを作成する手順をメモ

GIMP用のブラシファイルを作成する手順をメモ。

ブラシの種類。 :

まず前提として。GIMPのブラシ画像(一枚絵、.gbr)には2種類ある。
  • グレースケール画像。白が透明で、黒が不透明(描画色)。描画色が反映される。アルファチャンネルは持てない。
  • RGBA画像。アルファチャンネルを持てるが、描画色は反映されない。色は、画像の色がそのまま使われる。
GIMP上では、画像 → モード → RGB or グレースケールを選ぶことで画像の種類を切り替えられる。

他にも、複数の画像を登録したパイプブラシ(.gih)や、ブラシエディターだけで作れる媒介変数つきブラシ(.vbr)、なるものもあるらしいけど。そのあたり自分は作ったことが無かったり。

_7. ブラシの追加

ブラシを一つ作成。 :

GIMPで、ブラシにしたい画像を作成するなり開くなりして、ファイル → 名前を付けてエクスポート → 拡張子を「.gbr」にして保存すればブラシファイルになる。

ブラシを追加。 :

GIMPへブラシを追加する方法は、以下のページを見てもらったほうが分かりやすいかも。

_追加ブラシの使用方法
_GIMPにブラシを追加する方法 | GIMP2の使い方
_ゼロからのGIMP: ◆ブラシを追加する

ちなみに、brushes フォルダの中にサブフォルダを作って、その中にブラシファイルを追加すれば、それらのブラシにはサブフォルダ名でタグが付けられる。GIMPのブラシウインドウの上のほうに「タグで検索」てのがあるので、少しは有効に活用できるようになる、はず。

_2. GIMP
_3.6. タグづけ

たくさんブラシを作りたい。 :

ブラシを1つ2つ作るだけなら、前述したように、一つ一つを手作業で保存して作ればいいのだけど。場合によっては、十数ファイルぐらいを一気にたくさん作りたい時もあって。

そういう時は、 _GIMPでPhotoshopのブラシを使おう の下のほうで紹介されてる、save-all-layers-as-brushes というスクリプトを使うと楽。コレを使うと、全レイヤーを1つ1つブラシファイルとして自動で保存してくれる。尚、件のページにはスクリプトの追加の仕方も書いてある。

例えば、ブラシにしたいpng画像がたくさんあったら、ひとまずGIMPのレイヤーにどんどん追加していく。
  • エクスプローラその他から、GIMPのレイヤーウインドウ?にドラッグして追加。
  • または、GIMP上の、ファイル → レイヤーとして開く、でもOK。ファイル選択時に、Shift や Ctrlキーを押しながらクリックすれば複数のファイルを選んで一度にたくさん追加できる。
その後、ファイル → レイヤーをブラシとして保存、を選べば、一気に大量のブラシファイルとして保存してくれる。ありがたや。

ただ、このスクリプト、ちと問題があって。十数ファイルほど保存すると、番号が、hoge1、hoge10、hoge12、hoge2、…みたいなことになってしまう。ブラシの順番がグチャグチャになるというか。

ということで、hoge01、hoge02、... hoge10、hoge11、となるように、スクリプトを少し修正してみたり。

_ブラシ保存スクリプト(Save All Layers as Brushes)で保存されるブラシ名の連番部分をゼロでパディングするように修正。

元のスクリプトのライセンスはGPLだから、改造版もソースを出しとけば問題ないだろう…。

#3 [gimp] ドット絵用のGIMPブラシを作成

ドット絵バケーションの基本プリセット画像を参考にしながら、自分もドット絵用のパーツ画像を描いてみたり。

ちなみに、ライセンス的にドット絵バケーションのソレをコピペして使うわけにはいかないはずなので、全部自分でドットを打ち直しました。シルエットは同じでも、中のドットの打ち方やパレットの値は違うはず。

_pixelart_parts_a.png
pixelart_parts_a.png
各パーツは32x32ドット。画像のライセンスは CC0 / Public Domain ってことで。自由に使ってくださいな。

さて、この画像を、GIMPのブラシファイルに変換していきたいわけで。

画像を分割。 :

前述の画像を32x32ドット単位でバラバラに分割する。

今回は、Windows10 x64上で、 _PL_ImageConstructor というツールを使わせてもらって分割してみたり。このツール、透過png(アルファチャンネルを持ったpng)を対象にして色んな処理ができる。素晴らしい。

ちなみに、ImageMagick を使っても分割できるはず。 _Cutting and Bordering -- IM v6 Examples によると、-crop やら +repage やら +adjoin やらを使えばいいらしい。試してないけど。

さておき。これで、24ファイル、32x32ドットの透過pngができた。 → _split_images.zip

GIMPにレイヤーとして読み込む。 :

この大量の透過pngを、GIMPで読み込む。最初のファイルを開いたら、残りのファイルをレイヤーウインドウにドラッグ。これで全画像がレイヤーになってる画像を作れた。念のために一旦保存しておく。ファイル → 名前を付けて保存。.xcfファイルとして保存した。

ブラシファイルとして書き出す。 :

Save All Layers as Brushes.scm を導入しておいて呼び出す。ファイル → レイヤーをブラシとして保存。ブラシファイルができた。

完成品はコチラ。

_gimp_brushes_pixelart_parts_a_20161006.zip (25KB)

CC0 / Public Domain ってことで。自由に使ってください。

ブラシとして追加すると、ブラシウインドウ内では、こんな感じの見た目になる。

gimp_ss01.png

使い方。 :

ドット絵用のブラシなので、「鉛筆ツール」を使って、ブラシサイズをデフォルトにして使ったほうがいい、はず。

gimp_ss02.png


そのままだと白黒でしか描画できないので、色 → 着色、を使ってチマチマと色を変更したり。

とりあえず、こんな感じのソレがサクサク作れる。
sample_01.png
gimp_ss03.png

まあ、これだけではショボいけど。もっと使えそうなパーツを増やしていけばどうにかなる、のかな。どうかな。どうなんでしょう。

以上、1 日分です。

過去ログ表示

Prev - 2016/10 - Next
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

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project