Re: 反転色の求め方について


[コメントツリー表示を見る] [発言時刻順表示を見る]

Posted by Uz on 2000/10/17 00:38:36

In Reply to: 反転色の求め方について Posted by Hirakin on 2000/10/16 18:34:19


    > 用途としましては、バックカラーが任意のカラーで着色可能な
    > コントロールにて、その上に表示されている文字色(ForeColor)
    > を認識しやすい色に自動で計算して反転色にしたいのです。
    >
    > VBで取り扱うLong値からRGBの値を取り出したりは出来るのですが、
    > 反転色を作る方法がわかりません。
    > 計算方法をご存知の方がいらっしゃいましたら、
    > よろしくお願いいたします。

    単純にRGBの各要素が取得できれば、各要素を反転すればいいですよ。
    各要素の反転とはRGBの各要素は0〜255の値なので
    単純に
    r = 255 - r
    のようにすればいいです。


    Dim col As Long
    Dim r As Byte
    Dim g As Byte
    Dim b As Byte

    col = RGB(255, 255, 255)
    Debug.Print "Original Color : " & Hex(col)

    r = (col And &HFF&)
    g = (col And &HFF00&) / (2 ^ 8)
    b = (col And &HFF0000) / (2 ^ 16)

    Debug.Print "Reverse Color : " & Hex(RGB(255 - r, 255 - g, 255 - b))


記事スレッド一覧