便利ツール@wiki※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。これは何をするものかgimpのブラシツールに混色機能を追加するためのパッチです。混色機能のついたペンをMixBrushと呼んでいます。混色ブラシの技術的な内容はMixbrushパッチ/アルゴリズム比較にあります。SAIやNekoPaintのブラシツールの設定項目を眺めながら作ったので、多分同じような効果になっていると思います。設定をいじってやると、SAIの水彩筆や筆ツールのような効果が出てくるはずです。挙動はちょっと違うかもしれませんが......ライセンスgimpのソースコードの派生物なのでGPLです。ダウンロードSourceForgeのプロジェクトサイトからダウンロードしてください。Fawn)OSは関係いはず。Gibbon)OSは関係いはず。道具箱パレットに"MixBrush"が追加されます。(アイコンは絵筆と一緒。)ブラシツールと同じように使います。筆で線を引くと、下地の色が徐々に混ざります。設定によっては、筆圧に応じて混ざり具合が変わります。Color"という項目が追加されます。各オプションの意味は次のとおり。下地の色を足す割合です。値が大きいほど、下の色を拾って混ぜるようになります。筆圧に応じて下地の色を混ぜる割合を変化させます。Pressureの値が大きいほど、混ぜる割合が筆圧によって変化します。前景色を足す割合です。値が大きいほど、パレットの色を塗り込むようになります。ColorのRateが強いと色が出ません。筆圧に応じて前景色を混ぜる割合を変化させます。Pressureの値が大きいほど、混ぜる割合が筆圧によって変化します。Pressureの値がRateより大きい場合、ある閾値以下の筆圧では前景色をまったく足さなくなります。他のツールで”ぼかす”と読んでいる状態になります。Tips不透明度が高いと、あまり上手く混色してくれません。不透明度=50くらいにして、圧力感度の不透明度のチェックをはずすくらいの設定がいいと思います。ColorのRate値を0.5以下にして、Pressureを0.5〜0.8くらいにすると、水彩っぽい感じになります。ColorのPressureを0にすると、しぃお絵描き掲示板の"水彩2"のような効果になります。既知のバグ透明レイヤーで使うと黒くなってしまう。→にじみツールと同じ理屈です。一回白で塗りつぶしてから全部を消去すると白が混ざるようになります。071029版より修正しました。ソースコードやっていることはG-penと大差ありません。rc3に実装した方がよいのでは、とも思うのですが......。週末暇があったら移植してみます(2.2系はもはや使う気にならないので)。03:47:48)>既知のバグ>透明レイヤーで使うと黒くなってしまう。→にじみツールと同じ理屈です。これってまで修正されていませんでしたか。Jitterを思い出しました。16:42:05)>やまかわさん2.4には、手元の環境が移行できるようになったら移ろうと思ってます。>いっちーさんどうやら、個別に注意してねっていう雰囲気のようです。toolは、APIをクリーンアップしたいって言ったっきりお蔵入りしちゃってますね。作る側としては、Gimpの内部構造をそのまま見せてでも継続して欲しかったんですけどね。00:57:04)先にブログの方でコメント残してきてしまいましたが、2.4-rc3への移植をやってみました。これで自分も遊べます;-)Wikiの方から先にチェックするという方のために、一応こちらにもWindowsバイナリのアドレス書いておきます。11:54:03)パッチをアップロードしました。http://preview.tinyurl.com/27xgqu多少修正をしているのでバイナリも更新されています。http://preview.tinyurl.com/26bkllバイナリの方に入っているreadmeファイルはこちらに。03:55:31)Painterのにじみ(Bleed)のような効果のテストです。2.4-rc3のWindows用バイナリをアップしました。説明は前回のreadmeを差し替えましたのでそちらを読んでみてください。例によってパッチはまた後ほど......。20:19:54)パッチの準備ができたのでアップロードしました。01:46:07)やまかわさん、パッチ拝見しました。レイヤ結合色をとってくる方法とか、計算の丸め誤差を残しておくところとか参考になります。次回のペイント色に繰り越すんで、実はこのパラメータはPainterのBleedと同じ働きをします。・Resat=original_color_rateとoriginal_color_pressure_rate・Bleed=canvas_color_rateとcanvas_color_pressure_rateと同じ感覚です。やまかわさんのBleedは混色前のクローンレイヤと混ぜてますよね。白を混ぜるっていうのは、背景色を混ぜるとかにした方が汎用的かもってちょこっと考えてます。2.4が動きそうなので、そろそろ移行も考えながらまとめたいですね。効果の内容が違うような気がします。厳密に一致していないですが、手持ちの10.1で挙動を見る限りは、Resat->canvas_color_rateBleed->Bleedの方が近いように感じます。PainterでResat=0のときと、MixBrushでcanvas_color_rate=0のときとではBleedの効果の出方はだいぶ似ています(ややこしくなるので、不透明度は100%に固定して試してみてください)。Bleed=0のとき最初に置いた描点のカラーを引きずり続けるところに注目してください。Painter上で色々試してみた結果としては、やはり最近の描点(ストロークではなく)を置く前のカラーを拾えないと(Painterの)Bleedの効果は出せないと思います。02:13:06)あと、Painterの"塗料(Well)"のところにはoriginal_color_rateにあたるパラメータはなさそうですね。内部的に同様の処理をしているとは思いますが、値は固定か自動で決まるのかもしれません。02:23:16)>MixBrushでcanvas_color_rate=0のときとでは1.0の間違いです。02:28:05)Painterは文献見ているだけなので、実験的にはわかりません。手持ちの実感を持って比べてもらえているようなので心強いです。http://wiki.cgsociety.org/index.php/Creating_a_Smeary_Oil_Brush_in_Corel_Painterこの記事を読んでだいぶんわかりました。Painterでは、実際に描画する度合と、混ぜる度合が独立しているんですね。濃く塗ってたくさん混ぜるとか、薄く塗るけどあまり混ぜないとかできるんでしょうか。いまのMixBrushは大雑把に言うと・濃く塗る→混ざらない・薄く塗る→混ざるって感じです。濃く塗るか、薄く塗るかで大分変わります。いまのMixBrushとはかなり考え方が違うようです。こっちのバージョンも作ってみようかと思います。思いますが......ちなみに、現在の勝手改造版だと自分自身のストロークをにじませることができないので、Drawableのコピーを作る代わりに遅延処理を入れるやり方に切り替えているところです(Painterも遅延があります。どちらかと言うとぶれ・ゆがみの補正が主目的と思われますが)。それができたら、あとは筆圧の反転があればだいたい当初の予定は一通りこなしたような感じですね。レイヤー結合色は何とかしたいですが、APIを十分に理解していないと無理っぽいので、現時点では諦めてます。03:18:17)なんとなく、色を拾うのがカーソル下の1ピクセルだけを混ぜる対象にしている現在の実装が問題の根本じゃないかと思います。このへんは迷ったところなんですけど、筆の下の平均値とか考え始めるとちょっと計算量が重くてクラっときちゃいそうなんでやめちゃってました。APIを十分に理解していないと無理っぽいそうですよね......やっぱり、GimpはAPIが膨大なのがいい点で、同時に悪い点ですね。03:39:00)>1ピクセルだけまあそれはありますね。Bleedは直近の描点を絶対に混ぜてはいけないので、この事は分けて考えないとアレかなあとも思います。ちなみに、試してみたことがないので実際は分かりませんが、gimp_pickable_pick_color関数の引数を見る限りは、平均を取ってくれそうな感じがします。筆圧の反転、Bleedへの筆圧の適用を行いました。Windows用バイナリから。http://preview.tinyurl.com/ysemlr同梱のreadmeファイルを読みたい方はこちら。13:37:52)>やまかわさん多分、統一した場所で配る方がよいと思うので、もしよかったら、sourceforgeのアカウントをとってそちらにアップロードするようにしませんか?sourceforgeのサイトの方も、コミッタがたくさんいた方が心強くて助かります。16:51:34)利用方法がよく分かっていませんが、あとで確認してみます。この先はあまり貢献できない......かも。17:01:10)sourceforgeのアカウントはとりました。次はIDをそちらにお知らせすればいいのかな。01:05:13)はい。アカウント名を教えてもらえれば、こちらでプロジェクトに追加します。20:48:52)2.4のパッチを試してみました。同じ効果になるはずのパラメータ(Bleed=0,Dryout=0,delay=0)でちょっと書き味が変わっちゃってますね。入りの部分で強く塗りすぎちゃっているような...ちょっと調べてみます。05:35:36)値を取ってみるとgimp_image_get_pixel_atが悪さをしているかもしれません。17:39:12)筆圧の適用方法をいじってしまったからですね。先ほど10月29日版をsourceforgeの方に置いておきましたが、そちらは元に戻してあります。04:34:47)ちゃんとした検証をしていないのでこちらだけに置きますが、いろいろ取り込んだ2.4用パッチを追加しました。(ページ下部からダウンロードできます)いろいろと変わってしまっているので、後からドキュメントを作ります。誤差の問題とかgimp_pickable*の問題とか、直っているはず(というか、考える必要がない)です。stroke"が未実装です。color"の背景色が白限定になっています。時間がとれたら直します。(白か背景色をstartで取得してGimpMixbrushに保存するようにします。05:15:57)10/29版のドキュメントをMixbrushパッチ/アルゴリズム比較に載せました。