画像をぼかす
(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だけで行っているので動作が遅いです。分かりやすさ優先という事で。

Sample Program Download (7KB)

トップに戻る
Visual Basicワンポイントテクニック目次に戻る

Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!