プレイ日記
塗り潰しの境界が汚い
9そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
きれいに塗り潰すためには、たぶん (1) 塗り潰し範囲をアルファチャンネルで表現する (2) アルファチャンネルに従って、塗り潰し色で塗り潰す という手法が必要になると思うのだけれど。 (1)については gpaint 命令では「塗り潰し色と同値か」で判定してるのを、 RGBなりHSVなりの色空間内での距離を計算し、 「閾値以下なら塗り潰し範囲とする、 ただし距離に応じてアルファチャンネルの値を加減する」 みたいな処理が必要 (2) はアルファチャンネルができちゃえば簡単だよね。
2そうだね
プレイ済み
返信[2]
親投稿
moh6an moh6an
さらっとMIKIさんは「ね?簡単でしょ?」みたいに言う・・・(;´Д`)
4そうだね
プレイ済み
返信[3]
親投稿
おちゃめ ochame_nako
その処理を実現するには「自前でPAINTと同等の塗りつぶし処理ができる」「アルファチャンネルを使った合成ができる」という2つのスキルが必要です。 それさえできればしきい値の範囲指定をするだけなので簡単ですね。
1そうだね
プレイ済み
返信[4]
親投稿
MIKI ifconfig
そうそう ていうか、mohさんはすでに実装してるんじゃなかった?? 私も「FF [NK7N339J] 塗りつぶしライブラリ」というのを公開してますので、これベースに実装しようと思い、今日髪切りに行くのにプチコン持って行きましたが、予想外に待ち時間が少なくて捗りませんでした。
0そうだね
プレイ済み
返信[5]
親投稿
MIKI ifconfig
色の距離として、たとえば ARGB で A って考慮した方がいいんですかね??? dist = sqr((a1-a0)^2+(r1-r0)^2+(g1-g0)^2+(b1-b0)^2) とするか dist = sqr((r1-r0)^2+(g1-g0)^2+(b1-b0)^2) とするか 私自身は全く絵を描かないのでイメージが湧かないのですが・・・
0そうだね
プレイ済み