dポイントプレゼントキャンペーン実施中!

VisualStudio2008を使用しています。
例えば15x15の四角のビットマップ(■)を任意の色に変更させるプログラムを作ろうと思っていますが、
CBitmapを使えばできると思ったのですが、なかなかうまくいきません。

イメージとしてはGDI(0,0,0)をGDI(0,0.255)に変更するという関数があるのかなと思ったのですが、
MFCサイトを見てもなさそう?でした。(よくわかりませんでした)
↓こんな感じに書きましたが、うまく動きませんでした。

CBitmap iconBitmap;
COLORREF cr_from = RGB(0,0,0);
COLORREF cr_to = RGB(0,0,255);
COLORMAP COLORMAP;
COLORMAP.from = cr_from;
COLORMAP.to = cr_to;
iconBitmap.LoadMappedBitmap(IDB_CELLCOLOR,1,&COLORMAP,1);

最後の行で異常終了します。

簡単にできる方法はありませんでしょうか?
ご教授お願いいたします。

A 回答 (1件)

読み込むビットマップって 24bitカラーではありませんか?


256カラー以下のビットマップにして見ましょう
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
24bitカラーでそのカラーが黒(0,0,0)だとうまくいきませんでした・・・。
ただ別の色(0,0,255)にした場合うまくいきました。
何が原因で異常終了していたのか不明になってしまいましたが、とりあえず解決できました。

回答いただき、心強かったです。
ありがとうございました。

お礼日時:2012/01/27 13:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!