オープンソース形式でコードを共有するフォーラムです。お役立ちコード、あなたも投稿してみませんか?
-
tak
- 記事: 162
- 登録日時: 2005年5月31日(火) 07:49
#1
投稿記事
by tak »
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で指定した要素の強さが返ります。
使う機会は滅多にありませんが・・・
-
イグトランス
- 記事: 899
- 登録日時: 2005年5月31日(火) 17:59
- お住まい: 東京都
#2
投稿記事
by イグトランス »
MSのC/C++用のヘッダにはGetBValue, GetGValue, GetRValueというマクロがあるので、これに合わせた方が良いのではないかと思います。
-
tak
- 記事: 162
- 登録日時: 2005年5月31日(火) 07:49
#3
投稿記事
by tak »
> 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
こんな感じでどうでしょうか