画像をぼかす
(16bitカラー以上必須、32bitカラー推奨)
VBの命令を応用するだけで簡単に画像ぼかすことが出来ます。
▲画像の変化(Windows付属の森.bmpを使用しました)
手 順 |
1.ピクチャーボックスに変換する画像を読みこむ
↓
2.変換する位置のまわりの色を読みこみ、その色をR(赤)、G(緑)、B(青)に分解(図解1)
↓
3、それぞれの色を足して9で割る
↓
4.RGB関数で色を求める(赤、緑、青の合成)
↓
5.Pset文などでピクチャーボックスなどに描画
↓
6.画像の大きさだけ2から5を繰り返す
↓
7.できあがり
図解1:A点の色を求める |
(255,0,0) | (255,100,0) | (255,255,0) |
(255,0,100) | A(100,100,100) | (255,255,100) |
(255,0,255) | (255,100,255) | (255,255,255) |
A点の色を求めるには、A点のそれぞれの色の要素に、まわりの色の要素を足して、要素の分(ここでは9)で割れば良い。
赤の要素:(255+255+255+255+100+255+255+255+255)/9
緑の要素:(0+100+255+0+100+255+0+100+255)/9
青の要素:(0+0+0+100+100+100+255+255+255)/9
これをRGB関数で色のLong値に合成し表示すれば完了。
注:ピクチャーボックスのAutoReviewプロパティがTrueになっている必要があります
また描画時にウィンドウを最小化しておくと描画スピードが速くなります
サ ン プ ル プ ロ グ ラ ム |
VisualBasic4以上で動作するサンプルプログラムです。かなり綺麗に変換できます。
毎度の事ながら色取得や設定にAPIを使用せず、VBだけで行っているので動作が遅いです。分かりやすさ優先という事で。