画像にモザイクをかける
(16bitカラー以上必須、32bitカラー推奨)

VBの命令を応用するだけで簡単にモザイクをかけることが出来ます。

操 作 手 順

1.ピクチャーボックスに変換する画像を読みこむ

2.変換する位置(モザイクの大きさの分)の位置の色を読みこみ、RGBに分解

3、それぞれの色を足して足した数で割る(平均を求める)

4.RGB関数で色を求める(赤、緑、青の合成)

5.Line文などでピクチャーボックスなどに描画

6.画像の大きさだけ2から5を繰り返す

7.できあがり

図解1:この9点の色を求める(モザイクの大きさは3*3)
カッコ内は色の赤の要素、緑の要素、青の要素。

(255,0,0) (255,100,0) (255,255,0)
(255,0,100) (100,100,100) (255,255,100)
(255,0,255) (255,100,255) (255,255,255)

すべての色の要素を足して、要素の分(ここでは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円] 海外格安航空券 海外旅行保険が無料!