SQLの窓

2014年12月22日

GIMP スクリプトで、二段雲形吹き出し( Baloon-3 を改造 )

詳細はいろいろ長いので後で。

▼ こんな吹き出しを自動で作成します


▼ パラメータダイアログ


元々は、結構有名な作者が『Michael Spunt』で 2000 年に作成されたものです。

▼ 改造版のソースコード( UTF-8N で保存する必要があります )
; balloon 
; creates a balloon like in comics
; it sucks a bit ;-)
; (C) Copyright 2000 by Michael Spunt <t0mcat@gmx.de>
; Gopal.V hacked it in 2002 to make it suck less (Aqua'ish)
; but cut a few corners (literally)
;
; ramok hacked it in 2006 to make colors

(define (round-balloon-3 img drawable bw bh lw rect np orientation revert fill border gauss dbl)
  (let* ((x 0))
    (if (= np FALSE) 
      (begin
        (set! x (- (* bw 0.5) (* bw 0.2)))
        (gimp-ellipse-select img x (* bh 0.5) (* bw 0.4) (* bh 0.4) REPLACE TRUE FALSE 0)
        (set! x (- (* bw 0.5) (* bw 0.2) (* bw orientation -0.1)))
        (gimp-ellipse-select img x (* bh 0.5) (* bw 0.4) (* bh 0.4) SUB TRUE FALSE 0)))
    (if (= revert FALSE) 
      (gimp-selection-translate img (* bw orientation 0.3) 0))
    (if (= rect FALSE) 
      (begin
        (if (= dbl FALSE)
           (gimp-ellipse-select img (* bw 0.1) (* bh 0.1) (* bw 0.8) (* bh 0.65) ADD TRUE FALSE 0)
        )
        (if (= dbl TRUE)
           (begin
              (gimp-ellipse-select img (* bw 0.1) (* bh 0.1) (* bw 0.8) (* bh 0.5) ADD TRUE FALSE 0)
              (gimp-ellipse-select img (* bw 0.125) (* bh 0.3) (* bw 0.725) (* bh 0.5) ADD TRUE FALSE 0)
           )
        )
      )
    )
    (if (= rect TRUE) 
      (gimp-rect-select img (* bw 0.1) (* bh 0.1) (* bw 0.8) (* bh 0.65) ADD FALSE 0))
    (gimp-palette-set-background fill)
    (gimp-palette-set-foreground border) 
    (gimp-edit-fill drawable 0)
    (gimp-selection-shrink img lw)
    (gimp-edit-fill drawable 1)
    (if (= gauss TRUE) 
      (begin
        (gimp-selection-none img)
        (plug-in-gauss-rle2 1 img drawable 5.0 5.0)
        (plug-in-bump-map 1 img drawable drawable 135 14 4 0 0 74 182 1 0 1)
      )
    )
))

(define (round-think-balloon-3 img drawable bw bh lw rect np orientation revert fill border gauss dbl)
  (let* ((x 0))
    (if (= np FALSE) 
      (begin
        (set! x (+ (* bw 0.5) (* bw -0.025) (* bw orientation 0.3)))
        (gimp-ellipse-select img x (* bh 0.85) (* bw 0.05) (* bh 0.05) REPLACE TRUE FALSE 0)
        (set! x (+ (* bw 0.5) (* bw -0.05) (* bw orientation 0.2)))
        (gimp-ellipse-select img x (* bh 0.75) (* bw 0.1) (* bh 0.1) ADD TRUE FALSE 0)))
    (if (= revert TRUE) 
      (gimp-selection-translate img (* orientation bw -0.3) 0))
    (if (= rect FALSE) 
      (begin
        (if (= dbl FALSE)
           (gimp-ellipse-select img (* bw 0.1) (* bh 0.1) (* bw 0.8) (* bh 0.65) ADD TRUE FALSE 0)
        )
        (if (= dbl TRUE)
           (begin
              (gimp-ellipse-select img (* bw 0.1) (* bh 0.1) (* bw 0.8) (* bh 0.5) ADD TRUE FALSE 0)
              (gimp-ellipse-select img (* bw 0.125) (* bh 0.3) (* bw 0.725) (* bh 0.5) ADD TRUE FALSE 0)
           )
        )
      )
    )
    (if (= rect TRUE) 
      (gimp-rect-select img (* bw 0.1) (* bh 0.1) (* bw 0.8) (* bh 0.625) ADD FALSE 0))
    (gimp-palette-set-background fill)
    (gimp-palette-set-foreground border) 
    (gimp-edit-fill drawable 0)
    (gimp-selection-shrink img lw)
    (gimp-edit-fill drawable 1)
    (if (= gauss TRUE) 
      (begin
        (gimp-selection-none img)
        (plug-in-gauss-rle2 1 img drawable 5.0 5.0)
        (plug-in-bump-map 1 img drawable drawable 135 14 4 0 0 74 182 1 0 1)
      )
    )
))

(define (script-fu-balloon-3 bw bh lw rect np think right revert fill border gauss dbl)
  (let* (
         (orientation 1)
         (side 1)
         (img (car (gimp-image-new bw bh RGB)))
         (balloon (car (gimp-layer-new img bw bh RGBA-IMAGE "Balloon3" 100 NORMAL))))
    (if (= right FALSE) (set! orientation -1))
    (gimp-image-add-layer img balloon 1)
    (gimp-display-new img)
    (gimp-edit-clear balloon)
    (if (= think FALSE) 
      (round-balloon-3 img balloon bw bh lw rect np orientation revert fill border gauss dbl))
    (if (= think TRUE) 
      (round-think-balloon-3 img balloon bw bh lw rect np orientation revert fill border gauss dbl))
    (gimp-selection-none img)
    (gimp-displays-flush)))

(script-fu-register "script-fu-balloon-3"
     "Balloon3..."
     "Creates a balloon like used in comics."
     "Michael Spunt"
     "Copyright 2000, Michael Spunt"
     "May 20, 2000"
     ""
     SF-ADJUSTMENT _"Image width"  '(240 10 2000 1 10 0 1)
     SF-ADJUSTMENT _"Image height" '(160 10 1000 1 10 0 1)
     SF-ADJUSTMENT "Line width"	   '(2 0 10 1 10 0 1)
     SF-TOGGLE "四角形"            FALSE
     SF-TOGGLE "吹き出しなし"	   FALSE
     SF-TOGGLE "妄想"              FALSE
     SF-TOGGLE "クチの向き(右)"  FALSE
     SF-TOGGLE "位置の反転"        FALSE
     SF-COLOR  "Fill"	            '(255 255 255)
     SF-COLOR  "Border"	            '(22 22 22)
     SF-TOGGLE "ぼかしあり"        FALSE
     SF-TOGGLE "二段にする"        FALSE)

(script-fu-menu-register "script-fu-balloon-3"
     "<Toolbox>/Xtns/Script-Fu/Text"
)

こうなった経緯としては、logical error に二段にする前の内容を書いています。

GIMP : 吹き出しスクリプトで作った画像の利用

WEBアーカイブで済ますはずが、偶然が重なって内容をチェックする事になって、ならば二段にしてしまおうという結果です。

どうも、GIMP のスクリプトはとても肩身が狭いようです。もともと解りづらい仕様ですし、昔のスクリプト作成者の方々も探しても見つからなかったり、とにかくサイトが無くなっている事が多いみたいで・・・。

海外を探すと結構アーカイブはあるのですが、古いままだったりバグがあったりと散々です。

自分もたいして書けませんが、こういう手直しはわりと簡単にできるので頑張ってみました。


※ 雲形のチューニングはできるのですが、そこまで需要は無いと思って見送りました。


posted by at 2014-12-22 23:43 | Comment(0) | GIMP スクリプト | このブログの読者になる | 更新情報をチェックする

2014年10月09日

GIMP : タマちゃんスクリプトの水部分



オリジナルページ
( サイトは消失しているので、WEB アーカイブです )

水の部分は使えると思って抽出したものです。


( 日本語は UTF-8N )


(define (script-fu-tamachan-mark w h s)
 (let* (
       (image (car(gimp-image-new w h 0)))
       (background (car (gimp-layer-new image w h 0 "Background" 100 NORMAL)))
       (channel (car (gimp-channel-new image w h "displace map" 50 '(127 127 127))))
       (old-fg (car (gimp-context-get-foreground))) 
       (old-bg (car (gimp-context-get-background))) 
        )

       (gimp-image-undo-disable image)
       (gimp-drawable-fill background 3)	
       (gimp-image-add-layer image background 1)
       (gimp-image-add-channel image channel 0) 
       (plug-in-solid-noise 1 image channel  0 0 s 2 4 16)
       (plug-in-solid-noise 1 image background  0 0 s 1 4 16)
       (plug-in-displace 1 image background 80 80 TRUE TRUE channel channel 1)
       (gimp-image-remove-channel image channel)
       (gimp-context-set-foreground '(140 190 240))
       (gimp-bucket-fill background 0 COLOR 100 255 FALSE 0 0)
       (gimp-context-set-foreground '(30 30 100))
       (gimp-context-set-background '(255 255 255))
       (gimp-blend background 0 OVERLAY 0 100 0 0 FALSE FALSE 0 0 TRUE 0 0 0 300)
       (gimp-brightness-contrast background 0 50)
       (gimp-blend background 2 NORMAL 0 100 0 0 FALSE FALSE 0 0 TRUE 0 0 0 100)

       (gimp-context-set-foreground old-fg)
       (gimp-context-set-background old-bg)
       (gimp-image-undo-enable image)
       (gimp-displays-flush)
       (gimp-display-new image)
))

(script-fu-register "script-fu-tamachan-mark"
  	_"Tama chan (Benchmark)..."
   	 "(-_-;)"
   	 "tamao sugar"
   	 "tamao sugar"
   	 "2004/12/3"
  	 ""
		SF-ADJUSTMENT "横" '(200 10 1000 1 10 0 1)
		SF-ADJUSTMENT "縦" '(200 10 1000 1 10 0 1)
		SF-ADJUSTMENT "乱数の種" '(1 1 100 1 10 0 1)
 	)

(script-fu-menu-register "script-fu-tamachan-mark"
  	_"<Toolbox>/Xtns/Script-Fu")




posted by at 2014-10-09 17:48 | GIMP スクリプト | このブログの読者になる | 更新情報をチェックする

2014年09月11日

無事みつけた Pencil-sketch.scm でイラストを加工したら、やはり一番の出来で挿絵っぽくなりました。



本来なら、ここから手作業で仕上げするところなんでしょうが、とりあえず濃さの調整のみを行いました。ただの背景ではなく人物のラインが重要なので、このスクリプト以外は良い結果は出なかったです。

GIMP の場合は面倒ですが、一応スクリプトを触れるので、いろいろなイラストのバリーエーションの一つの選択肢として大きいです。最近 Bryce という景観作成ソフトを使い始めて、最初にイラストの背景に使ったのがこの画像です。以下、カラーバージョンです。

Elf Team





関連する記事

GIMP : 鉛筆スクリプト / quick-sketch.scm と FU_sketch_pencil-sketch-BW.scm



posted by at 2014-09-11 23:26 | Comment(0) | GIMP スクリプト | このブログの読者になる | 更新情報をチェックする

GIMP : 鉛筆スクリプト / quick-sketch.scm と FU_sketch_pencil-sketch-BW.scm



昔、Pencil-sketch.scm というスクリプトがあって、あちらこちらで紹介されているのですが、現在配布サイトが消滅していました。自分が紹介したのは、2006年11月18日 でしたが、インターネット上の情報としては、2012 年ごろまではダウンロードできたようです。

残念ながら、Pencil-sketch.scm は見つからないので、他のスクリプトを探して二つ見つけました。

※ コメントをいただいて、http://archive.org/web/ にある事を教えていただきました。( ページの最後にスクリプトの結果があります )

▼ 元画像


quick-sketch.scm

Quick sketch

白黒の濃度を 0 から 200 まで変更する事ができますが、ぼかしたオリジナル画像を、元の画像の上に覆い焼きしているだけなので、鉛筆画像というより、白黒効果プラスアルファといった感じです。

▼ 30


▼ 180



FU_sketch_pencil-sketch-BW.scm

Script-Fu -> Pencil Sketch BW
※ 本体だけでは無く、パターンのダウンロードが必要なので注意して下さい

オプションとして、以下のチェックから最初から ON になっていますが、これだと合成されてしまうので、チェックを外して実行します



▼ 合成されたもの


背景部分の薄いところも雰囲気を出す為にそれ用のパターンレイヤーが合成されています。

▼ パーツの一枚(レイヤー)

※ パターンを非表示にすると、こんな感じになります。


Pencil-sketch.scm(みつかりました)



あきらかに、前の二つより複雑な処理を行っている気がします。GIMP のスクリプトを読むのは結構気合がいるので読んでませんが、plugin も多くつかわれていたりと、特に plug-in-gauss-iir がキモのようでした(FU_sketch_pencil-sketch-BW.scm でも使われています)。

ソースコードの先頭にライセンス記述があるので貼っておきます
; The GIMP -- an image manipulation program
; Copyright (C) 1995 Spencer Kimball and Peter Mattis
; ---------------------------------------------------------------------
; The GIMP script-fu  Pencil Sketch for GIMP1.2 - 2.6
; Copyright (C) 2004 Tamagoro <tamagoro_1@yahoo.co.jp>
; ---------------------------------------------------------------------
; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
; 
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.
; 
; You should have received a copy of the GNU General Public License
; along with this program; if not, write to the Free Software
; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
; ---------------------------------------------------------------------

(define (script-fu-pencil-sketch image drawable)
  (let* (
 	     (W (car (gimp-image-width image)))
 	     (H (car (gimp-image-height image)))
 	     (type (car (gimp-drawable-type drawable)))
 	     (select (car (gimp-selection-is-empty image)))
 	     (select-channel)
 	     (backup-layer)
 	     (copy-layer)
 	     (base-layer)  )
  	
 	(gimp-image-undo-group-start image)
 	(if (equal? select FALSE) 
 	(begin 
 	    (set! select-channel (car (gimp-selection-save image)))
 	    (set! backup-layer (car (gimp-layer-copy drawable 1)))))

 	(if (< type 2) (gimp-desaturate drawable))
 	(plug-in-normalize 1 image drawable)
 	(plug-in-noisify 1 image drawable FALSE 0.01 0.01 0.01 0.00)
 	(plug-in-sharpen 1 image drawable 70)
 	(plug-in-noisify 1 image drawable FALSE 0.01 0.01 0.01 0.00)

	(set! copy-layer (car (gimp-layer-copy drawable 1)))
 	(gimp-image-add-layer image copy-layer -1)
 	(gimp-layer-set-mode copy-layer DIVIDE)
 	(plug-in-gauss-iir 1 image copy-layer (+ 1 (/ (+ W H) 500)) TRUE TRUE)
 	(set! base-layer (car (gimp-image-merge-down image copy-layer 2)))

 	(set! copy-layer (car (gimp-layer-copy base-layer 1)))
 	(gimp-image-add-layer image copy-layer -1)
 	(gimp-brightness-contrast copy-layer 0 125)
 	(gimp-invert copy-layer)
 	(gimp-layer-set-mode copy-layer SCREEN)
 	(gimp-layer-set-opacity copy-layer 60)
 	(set! base-layer (car (gimp-image-merge-down image copy-layer 2)))
 	(plug-in-normalize 1 image base-layer)

 	(set! copy-layer (car (gimp-layer-copy base-layer 1)))
 	(gimp-image-add-layer image copy-layer -1)
 	(gimp-invert copy-layer)
 	(gimp-layer-set-mode copy-layer OVERLAY)
 	(gimp-layer-set-opacity copy-layer 50)
 	(set! base-layer (car (gimp-image-merge-down image copy-layer 2)))

 	(set! copy-layer (car (gimp-layer-copy base-layer 1)))
 	(gimp-image-add-layer image copy-layer -1)
 	(plug-in-gauss-iir 1 image copy-layer 1 TRUE TRUE)
 	(gimp-layer-set-opacity copy-layer 60)
 	(set! base-layer (car (gimp-image-merge-down image copy-layer 2)))
 	(if (< type 2)
 	    (plug-in-vpropagate 1 image base-layer 2 TRUE 1.0 15 0 255)
 	    (begin (gimp-convert-rgb image)
 	       (plug-in-vpropagate 1 image base-layer 2 TRUE 1.0 15 0 255)
 	       (gimp-convert-grayscale image)) )
  	(gimp-levels base-layer 0 30 255 1.0 0 255)

	(if (equal? select FALSE) 
	    (begin 
 		   (gimp-image-add-layer image backup-layer -1)
 		   (gimp-selection-load select-channel)
 		   (gimp-edit-clear backup-layer)
 		   (gimp-image-remove-channel image select-channel)
 		   (gimp-image-merge-down image backup-layer 2)) )

 	(gimp-image-undo-group-end image)
 	(gimp-displays-flush)
  )
)

(script-fu-register "script-fu-pencil-sketch"
 	"鉛筆画"
 	"鉛筆画のように加工します"
 	"Tamagoro <tamagoro_1@yahoo.co.jp>"
 	"Tamagoro"
 	"October 2004"
 	"RGB*, GRAY*"
 	 SF-IMAGE      _"Image"     0
 	 SF-DRAWABLE   _"Drawable"  0
)

(script-fu-menu-register "script-fu-pencil-sketch"
 	"<Image>/Script-Fu/写真加工"
)



posted by at 2014-09-11 02:00 | Comment(2) | GIMP スクリプト | このブログの読者になる | 更新情報をチェックする

2014年07月20日

GIMP FX-Foundry : ロモ風スクリプト



ロモ風と言っても、解らない人にはピンと来ないです(自分もそうです)が、カメラの事で、それで撮るとノスタルジックで印象的になるそうです。

実際画像に対して行ってみると解りますが、茶系統の色を付加して、画像を濃くしてから中央に白をオーバーレイして明るくしています。

LOMO 前



LOMO 後



結構簡単にいい雰囲気になるのは解りますが、実際はもっといくつかレイヤーを加えて加工していくといいと思います。



以下は、一発でいい感じになった例です。

LOMO 前



LOMO 後

Bercovich Lomo... の情報

関連する記事

GIMP FX Foundry release for GIMP 2.6



タグ:GIMP
posted by at 2014-07-20 17:29 | Comment(0) | GIMP スクリプト | このブログの読者になる | 更新情報をチェックする

GIMP FX Foundry release for GIMP 2.6



GIMP FX Foundry

3年ぶりに見に行ったんですが、特に変わってはいませんでした。でも、GIMP のほうがとても安定している今日このごろ、あらためていろいろ使えるかどうか試していきたいと思います。
( GIMP を使うなら、GIMP ポータブル )

インストール

タウンロードして解凍したフォルダを GIMP に登録します。解凍されたフォルダをここでは、『C:\GIMPPortable\gimpfx』とします。


1) 設定用のダイアログを表示
2) 設定用のダイアログ
3) フォルダを選択
4) スクリプトを選択
5) 新規登録ボタン
6) フォルダ参照
7) 登録完了
登録後は、以下の場所から、スクリプトを再読み込みさせます メニューに登録されます という事でまず水滴効果。 ( 水滴に関しては、改造したのがこちらにあります ) そのままでは使え無いですが、後から画像をロードして使いました。 新規画像作成 水滴スクリプト パラメータ設定 Water drops Amount で水滴量が変わりますが、標準でたいてい OK他はあまり変えないほうがいいかもしれません( 試すのに時間かかるので ) 初期状態 なんか、こんなふうになるのでいらないレイヤーを非表示にして、一番下を選択。 後は、画像表示部分に水滴効果を付けたい画像をドラッグ&ドロップ
タグ:GIMP
posted by at 2014-07-20 17:11 | Comment(0) | GIMP スクリプト | このブログの読者になる | 更新情報をチェックする

2014年07月14日

GIMP 水滴スクリプト

久しぶりに動作チェックの為に最近作成したイラストで試してみました。
( あまり大きい画像をメモリの少ない PC で実行すると GIMP が落ちる可能性があります )



元画像 輪郭の外を消す為の元背景透過画像 GIMP のレイヤー 水滴レイヤーの背景部分の削除は、背景透過画像でファジー選択を使い、輪郭を選択してパスに変換します。そのパスを本体画像にコピーして、選択状態に変換してレイヤーを一枚一枚消しゴムで削除していきます。 全体の明るさ等にあわせて、レイヤーを適宜コピーして、基本は覆い焼きを使って不自然でない水滴に調整します。ついでなので、全体の色をハードライトを使って赤に変更しています。 水滴の細かい調整は、レイヤー毎に透過度を調整したり個別に消しゴムに透過度を設定して薄めるといいでしょう。 ▼ 以下は以前の記事です オリジナルはありますが、かなり改造してますしもともとの著作者はソースコードに連名されてますので詳細は省きます。 水滴をノイズから作っているのでサイズの最小値がほぼギリギリなので、もっと細かい水滴が必要な場合は大き目のキャンバスから作って縮小して使うといいと思います。そのままでとりあえず使う場合は、その画像に対して実行する事で自動的にレイヤーが作成されます。 デフォルトで使っているレイヤーと使っていないレイヤーがありますが、使っていないレイヤーを使う事によっていろいろ見栄えが変わって来ます。特に、一番上の水滴レイヤーに『覆い焼き』を設定すると光の変化が著しく現れます。また、元画像にハードライトを設定して、背景色を灰色に変化させて行くとまた違った効果が得られます。 元のスクリプトと大きく違うのは元画像をそのまま使えるようにしたのと、水滴は縦に長細くありたいので、横に二倍に拡大したキャンバスに適用してから元に戻しているところです。 元の画像の背景が透過の場合、透過部分にだけ水滴が現れるので注意して下さい。背景は黒で実行していただくと効果がはっきり現れます。( 一枚の画像として元画像を用意して、実行します ) 1183x844 適用後 覆い焼き 水滴レイヤーは、光の当たり方として上半分と下半分に分かれていて、したたるようなイメージだと下半分だけを使うのてデフォルトとしていますが、上半分も使うと水滴全体の形状がはっきりあらわれます。 Highlight_up(上半分) を表示にして『覆い焼き』にする さらに、GIMP のもともとのフィルタである『ずらしマップ』を本体の絵を選択した上で、Highlight_up を対象にして 縦のみ 2 だけずらすと、水滴の向こう側の部分のみ画像がゆがんでさらにリアルになります。 ※ 『ずらしマップ』適用前 ※ 『ずらしマップ』適用後 ※ 『ずらしマップ』適用後の本体画像 影のレイヤーは透過度を多目でデフォルト設定しているので、透過度を少なくすると水滴の輪郭がはっきりしていきます。 ※ Shadow の不透明度を 50% Highlight_fill レイヤーを表示にすると、水滴が少し暗くなります。 上の画像の『覆い焼き』を2枚とも『スクリーン』に戻すとこんな感じ 最後に、再び『覆い焼き』に戻して本体画像に『ハードライト』を設定して背景画像を表示にして 3a3a3a に塗り替えたものです。 ※ クリックすると、さらに大きく表示します この状態から背景だけを透過にするには、元の画像を背景透過のものに差し替えて(ずらしは適用しなおす必要がありますが、ここではやってません)、コピーして2枚にして、本体は『ハードライト』のままで、もう一枚を通常に戻して、単色塗りで黒に変更した後、カラーマッピングで黒を 3a3a3a に変更。最後に本体をファジー選択して背景部分を選択して、水滴関連のレイヤーの背景部分を大きなブラシで消してやればいいです。 後は、透過度を設定した小さい消しゴムで、一つ一つの水滴を調整してやるともっと良くなります。
posted by at 2014-07-14 23:39 | GIMP スクリプト | このブログの読者になる | 更新情報をチェックする

2014年06月02日

フリーフォントで簡単アイコン・はんこ画像作成 + TTEdit + GIMP + ステンドグラスロゴスクリプト



武蔵システムの TTEdit で画像をインポートしてフォントを作成できます。そのフォントを使って、GIMP で文字列加工を行って創りました。

画像は、フリーフォントで簡単アイコン・はんこ画像作成で作成しますが、黒い部分を多くしておきます。



ダウンロードして TTEdit でインポートしてフォント化後、GIMP のフォントフォルダへコピー。

▼ スクリプトはこちらのものを使用して下さい。

GIMP 2.8にて、ステンドグラスロゴ。感じの良い改造です。




posted by at 2014-06-02 14:49 | Comment(0) | GIMP スクリプト | このブログの読者になる | 更新情報をチェックする

2012年12月17日

Analogize(torres-analogize.scm) の解説というか、日本語化『GIMP 用スクリプト』



デフォルト値の表示等、レイヤーを分解したままをデフォルトとする等少し変更していますが、機能そのものは変更していません。メニューバーと、右クリックのメニューのトップに Effects で実行できるようにも変更しています。



要するに、元絵に対してコントラストと彩度を設定して、レイヤーとして白いグラデーションと黒いグラデーションを使って陰影を付けています。標準的な画像にメリハリが出てとてもいい感じになる事が多いです。
※ レイヤーは『オーバレイ』モードで重ねられています。



以下は、スクリプトを適用したものです。



※ UTF-8N で保存して下さい。
;
; The GIMP -- an image manipulation program
; Copyright (C) 1995 Spencer Kimball and Peter Mattis
;
; Analogize script  for GIMP 2.4
; Copyright (C) 2005 Ismael Valladolid Torres <ivalladt@punkass.com>
;
; Tags: photo, old
;
; Author statement:
;; A script-fu for the GIMP that makes any picture look as if it had
;; been taken using an old analog camera. Exaggerates contrast and
;; saturation and creates a bright and a dark overlay randomly
;; placed. Think of it as kind of a Lomo Kompakt or Kodak instantmatic
;; faking effect. However it still can't make anything to emulate the
;; peculiar chromatism usually achieved using the real thing.
;;
;; Check http://analogize.berlios.de/ for more information.
;
;
; --------------------------------------------------------------------
; Distributed by Gimp FX Foundry project
; --------------------------------------------------------------------
;   - Changelog -
;
; --------------------------------------------------------------------
;
;    This program is free software: you can redistribute it and/or modify
;    it under the terms of the GNU General Public License as published by
;    the Free Software Foundation, either version 3 of the License, or
;    (at your option) any later version.
;
;    This program is distributed in the hope that it will be useful,
;    but WITHOUT ANY WARRANTY; without even the implied warranty of
;    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;    GNU General Public License for more details.
;
;    You should have received a copy of the GNU General Public License
;    along with this program.  If not, see <http://www.gnu.org/licenses/>.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(define (script-fu-analogize img
                 drawable
                 contrast
                 saturation
                 bright-opacity
                 shadow-opacity
                 duplicate-shadow
                 flatten
                 copy)
 (let* (
        (image 0)
        (layer 0)
        (image-width 0)
        (image-height 0)
        (half-image-width 0)
        (half-image-height 0)
        (center-x 0)
        (center-y 0)
        (bright-layer 0)
        (shadow-layer 0)
        (shadow-layer2 0)
        (width-factor 0)
        (height-factor 0)
       )

  (set! image (if (= copy TRUE)
          (car (gimp-image-duplicate img))
          img))

  (gimp-image-undo-group-start image)

  (set! layer (car (gimp-image-flatten image)))

  (set! image-width (car (gimp-image-width image)))
  (set! image-height (car (gimp-image-height image)))

  (set! half-image-width (/ image-width 2))
  (set! half-image-height (/ image-height 2))

  (set! width-factor (/ (- 85 (rand 170)) 100))
  (set! height-factor (/ (- 85 (rand 170)) 100))

  (set! center-x (+ half-image-width (* half-image-width width-factor)))
  (set! center-y (+ half-image-height (* half-image-height height-factor)))

  (gimp-brightness-contrast layer 0 contrast)
  (gimp-hue-saturation layer 0 0 0 saturation)

  (set! bright-layer (car (gimp-layer-new image
                      image-width
                      image-height
                      1 "Brillo" bright-opacity 5)))

  (gimp-image-add-layer image bright-layer 0)
  (gimp-edit-clear bright-layer)
  (gimp-context-set-foreground '(255 255 255))

  (gimp-edit-blend bright-layer 2 0 2 100 0 0 FALSE FALSE 0 0 TRUE
           center-x center-y
           (+ half-image-width center-x) 0)

  (set! shadow-layer (car (gimp-layer-new image
                      image-width
                      image-height
                      1 "Sombra" shadow-opacity 5)))

  (gimp-image-add-layer image shadow-layer 0)
  (gimp-edit-clear shadow-layer)
  (gimp-context-set-foreground '(0 0 0))

  (if (= (rand 2) 0)
      (begin
    (gimp-edit-blend shadow-layer 2 0 0 100 0 0 FALSE FALSE 0 0 TRUE
             0 0
             center-x center-y)

    (gimp-edit-blend shadow-layer 2 0 0 100 0 0 FALSE FALSE 0 0 TRUE
             image-width image-height
             center-x center-y))
      (begin
    (gimp-edit-blend shadow-layer 2 0 0 100 0 0 FALSE FALSE 0 0 TRUE
             image-width 0
             center-x center-y)

    (gimp-edit-blend shadow-layer 2 0 0 100 0 0 FALSE FALSE 0 0 TRUE
             0 image-height
             center-x center-y)))

  (cond ((= duplicate-shadow TRUE)
     (set! shadow-layer2 (car (gimp-layer-copy shadow-layer 0)))
     (gimp-image-add-layer image shadow-layer2 0)))

  (cond ((= flatten TRUE)
     (gimp-image-flatten image)))

  (cond ((= copy TRUE)
     (gimp-display-new image)))

  (gimp-image-undo-group-end image)
  (gimp-displays-flush)
  )
)

(script-fu-register "script-fu-analogize"
            "Analogize..."
            "A simple analog camera faking effect"
            "Ismael Valladolid Torres <ivalladt@punkass.com>"
            "Ismael Valladolid Torres"
            "2005"
            "RGB*"
            SF-IMAGE "The image" 0
            SF-DRAWABLE "The layer" 0
            SF-ADJUSTMENT "コントラスト(20)" '(20 0 60 1 5 0 0)
            SF-ADJUSTMENT "彩度(20)" '(20 0 60 1 5 0 0)
            SF-ADJUSTMENT "レイヤーの不透明度(80)" '(80 0 100 1 10 0 0)
            SF-ADJUSTMENT "影のレイヤーの不透明度(100)" '(100 0 100 1 10 0 0)
            SF-TOGGLE "影のレイヤーを2枚にして濃くする" TRUE
            SF-TOGGLE "処理後の画像を統合する" FALSE
            SF-TOGGLE "Work on copy" TRUE)

(script-fu-menu-register "script-fu-analogize"
             "<Image>/Effects")

analogize.berlios.de は現在存在しません。
現在オリジナルは、http://www.gimphelp.org/script28.shtml よりダウンロードできます



タグ:GIMP
posted by at 2012-12-17 20:40 | GIMP スクリプト | このブログの読者になる | 更新情報をチェックする

2012年11月14日

Imageafter の画像を加工してイラスト調背景に

▼ Default Effect によるバリエーションサンプル

元画像



GIMP(FX-Foundry) : Water Paint Effect



GIMP(FX-Foundry) : Landscape Painter




▼ Default Effect によるバリエーションサンプル

PixlrExpress : Antonio



PixlrExpress : Hagrid



PixlrExpress : Sara




posted by at 2012-11-14 22:19 | GIMP スクリプト | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します


Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX