GetBValue()取得のエラー – プログラミング – Home

GetBValue()取得のエラー
 
通知
すべてクリア

[解決済] GetBValue()取得のエラー


dd
 dd
(@dd)
ゲスト
結合: 22年前
投稿: 17
Topic starter  

いつもお世話になっています、ddです。

下記の参照して、画像処理をやっています。
http://eternalwindows.jp/graphics/bitmap/bitmap11.html

COLORREF crTransparent = RGB(0, 255, 0);

b = (BYTE)(GetBValue(crTransparent));
g = (BYTE)(GetGValue(crTransparent));
r = (BYTE)(GetRValue(crTransparent));

確認して以下の通りです
b=0
g=255'・’//ここで、余分が付いています。
r=0

g=255'・’の余分がどう取り除きますか。

よろしくお願いします。
環境:.Net2002 Windows XP


引用未解決
トピックタグ
dd
 dd
(@dd)
ゲスト
結合: 22年前
投稿: 17
Topic starter  

いつもお世話になっています、ddです。

下記の参照して、画像処理をやっています。
http://eternalwindows.jp/graphics/bitmap/bitmap11.html

COLORREF crTransparent = RGB(0, 255, 0);
BYTE r, g, b;

b = (BYTE)(GetBValue(crTransparent));
g = (BYTE)(GetGValue(crTransparent));
r = (BYTE)(GetRValue(crTransparent));

確認して以下の通りです
b=0
g=255'・’//ここで、余分が付いています。
r=0

g=255'・’の余分がどう取り除きますか。

よろしくお願いします。
環境:.Net2002 Windows XP


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

>g=255'・’//ここで、余分が付いています。
どういうこと?
どうやって確認しているんでしょうか?

デバッグ時に見えるローカルウィンドウ?ウォッチ?自動変数?
型がBYTE(unsigned char)のとき対応する文字が値のところに表示されてるように見える
のですがそのことでしょうか?

BYTE c = 49;
だと

名前 値 型
c 49'1' unsigned char

と表示される。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

BYTE の実際の型は unsigned char でしょうか。
char なので VC++ は文字列として扱おうとしますが、NUL 終端がないのでゴミがあるよ
うに見えます。
BYTE 自体にゴミがついているというわけではないので心配はいりません。


返信引用
dd
 dd
(@dd)
ゲスト
結合: 22年前
投稿: 17
Topic starter  

Blueさん
ご返事ありがとう。

>名前 値 型
>c 49'1' unsigned char
そうです。
どういうことでしょうか。

よろしくお願いします。


返信引用
dd
 dd
(@dd)
ゲスト
結合: 22年前
投稿: 17
Topic starter  

aetosさん、
ご回答ありがとう。

>BYTE 自体にゴミがついているというわけではないので心配はいりません。
なるほど、わかりました。

皆さん、ありがとうございました。


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

>そうです。
>どういうことでしょうか。
単に、(親切にも)対応する文字を表示しているだけ。
0xff は対応する文字がないから '・' を表示している。

値はちゃんと0xff(=255)だから問題ない。

BYTE b = 255;
int n = b;

名前 値 型
b 255'・' unsigned char
n 255 int


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

や、俺間違ってましたね。お恥ずかしい。
訂正に感謝です。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました