ab.com コミュニティ
https://www.activebasic.com/forum/

RGB値の抽出
https://www.activebasic.com/forum/viewtopic.php?t=57
ページ 11

作成者:  tak [ 2005年6月03日(金) 22:04 ]
記事の件名:  RGB値の抽出

RGB関数は、次のように定義されています。
コード:
Const RGB(r, g, b) = r Or (g <<8) Or (b <<16)
よって、次のコードによりRGB値を抽出できます。
コード:
Const EXT_RED   = 0
Const EXT_GREEN = 8
Const EXT_BLUE  = 16

Const EXTRACTRGB(crCode, extColor) = (crCode >> extColor) And &HFF
引数の説明
crCode ・・・・・ カラーコードを指定する
extColor ・・・ 抽出する要素を上記定数(EXT_xxx)から指定する

extColorで指定した要素の強さが返ります。
使う機会は滅多にありませんが・・・

作成者:  イグトランス [ 2005年6月04日(土) 00:03 ]
記事の件名: 

MSのC/C++用のヘッダにはGetBValue, GetGValue, GetRValueというマクロがあるので、これに合わせた方が良いのではないかと思います。

作成者:  tak [ 2005年6月04日(土) 00:12 ]
記事の件名: 

> MSのC/C++用のヘッダにはGetBValue, GetGValue, GetRValueというマクロがあるので、これに合わせた方が良いのではないかと思います。

これは失礼。そんなものがあるなんて知りませんでした。
そこで、次のように訂正します。
コード:
Const GetRValue(crCode) = crCode And &HFF
Const GetGValue(crCode) = (crCode And &HFF00) >> 8
Const GetBValue(crCode) = (crCode And &HFF0000) >> 16
こんな感じでどうでしょうか

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/