色指定の数値より RGB の各値を得る Hit Counter

対象バージョン : 97, 2000, 2002, 2003, 2007
最終更新日 : 2007/03/11 (オリジナル作成日:1996/12/08)


概 要

 BackColor 等での色指定の数値から、RGB 関数の引数にあたる Red, Green, Blue の各値を得る方法です。

 

手 順

1.ユーザー定義関数の作成

(declarations)
Type RGB_Struct
    RED As Integer
    GREEN As Integer
    BLUE As Integer
End Type


Public Function invRGB(ColorNumber As Long) As RGB_Struct
Dim RGBValue As RGB_Struct
If ColorNumber < 0 Then
    RGBValue.RED = &HC0
    RGBValue.GREEN = &HC0
    RGBValue.BLUE = &HC0
Else
    RGBValue.RED = ColorNumber Mod &H100&
    RGBValue.GREEN = Int(ColorNumber / &H100&) Mod &H100
    RGBValue.BLUE = Int(ColorNumber / &H10000)
End If
invRGB = RGBValue
End Function
2.使用方法

Dim RGB As REG_Struct

RGB = invRGB(色指定数値)
赤 = RGB.RED
緑 = RGB.GREEN
青 = RGB.BLUE

注 意

 フォームでのデフォルトの設定値では、マイナス値(-2147483633)となっていますが、マイナス値が与えられた場合、赤緑青の各値には、192(&HC0) が返されます。


目次へ戻る