投稿日 | : 2005/03/10(Thu) 10:08 |
投稿者 | : ダンボ |
URL | : |
タイトル | : ビット操作で納得いかないことが |
お早うございます。
色操作をしたいので各色を下記で取り出そうとしたが、正しく取り出せない場合があります。
突き詰めていくと、デバッグウィンドウで試してみると
?hex(&H7F8180 / &H100)の結果が7F82
?hex(&H7F817F / &H100)の結果が7F81
でした。上段の結果が納得いかないです。
切り捨てられたはずの最後のビットがその上のビットに影響している。四捨五入?そうとしか考えられない。
皆さんだったら、どうコーディングしますか?
Dim R As Integer, G As Integer, B As Integer
B = (Label1.BackColor / &H10000) And &HFF
G = (Label1.BackColor / &H100) And &HFF
R = Label1.BackColor And &HFF