RGB値の分解

<戻る

ここに載せてあるソースコードは、参考のために載せてあります

サンプルコードは、一番下にLZHとしてあります




Option Explicit

'RGB値を分解します
'赤、緑、青それぞれの色に分解します

'GetRGB関数に使うRGB構造体(ユーザー定義型)です
Private Type RGBType
    Red     As Integer
    Green   As Integer
    Blue    As Integer
End Type

'RGB値を分解する関数
Private Function GetRGB(ByVal lngColor As Long) As RGBType
    Dim iRgb As RGBType
    
    'それぞれのRGB値を取得します
    With iRgb
        .Red = lngColor Mod 256
        .Green = Int((lngColor Mod 65536) / 256)
        .Blue = Int(lngColor / 65536)
    End With
    
    '関数へ戻り値として返します
    GetRGB = iRgb
    
End Function

'Picture1上でマウスが動いた
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim rc As RGBType
    
    'GetRGB関数の引数にPointメソッドで取得した色を使い、
    'rcに分解したRGB値を代入する
    rc = GetRGB(Picture1.Point(X, Y))
    
    '赤、緑、青の色をそれぞれ表示する
    Caption = "RGB[" & rc.Red & "," & rc.Green & "," & rc.Blue & "]"

End Sub





 

<戻る

Sample31.lzh


http://www.vector.co.jp/authors/VA015521/