エンボス/エンゲイブ画像を作成
(16bitカラー以上必須、32bitカラー推奨)

VBの命令を応用するだけでエンボス/エンゲイブ画像を作成することが出来ます。

作 成 手 順

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

2.変換する位置の色をPoint文などで読みこみその色をR(赤)、G(緑)、B(青)に分解。
(画像の大きさだけ一括して読みこむ)

3.RとGとBを足し、3で割る(平均を求める。つまりグレイスケール化)

4.周りの色と判定し(備考を参照)影にするのか(黒、白ともに)、しないのか決定

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

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

7.できあがり

注:ピクチャーボックスのAutoReviewプロパティがTrueになっている必要があります
また描画時にウィンドウを最小化しておくと描画スピードが速くなります

<備考:影の判定方法>

グレイスケールに画像を変換したときの各RGBの値が下の表のようになっていたとします。

B

A

C

D

E

このとき、Cの影の判定方法はまず、白い影にするのか黒い影にするのかはひとまずおいておいて、影か影でないのかを判定します。それには以下の式を使用します

(A+B+D+E)/4=c

このとき式の判定がTrueなら、周りとの色の違いはなく(厳密にはそうではない場合もありますが)影は無しです。この式の判定がFalseならば影をつけなければなりません。そのときの影の色(白または黒)の判定には以下の式で対応します。

ABS((A+B)/2-c)>ABS((D+E)/2-c)

この判定が真ならば影は黒となり、偽なら白(エンゲイブの場合は逆)となります。

厳密にはこれだけではいけないのですが、基本的にはこれだけでエンボス/エンゲイブ化が可能です。詳しくはサンプルを見てください。

サ ン プ ル プ ロ グ ラ ム

ちょっとこのサンプルは難しめかもしれないです。

Sample Program Download (10KB)

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

楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル