メモリデバイスコンテキストへの描画について

[戻る]
bird 2010/03/03(水) 14:26:34
【環境】
WindowsXP(SP2)
VisualStudio2005++
MFC

メモリデバイスコンテキストに自分で描画し、ビットマップ(24bit/pixel)に出力した
いと思っております。そこで、メモリデバイスコンテキストに描画する際、

CDC* pDCtest;
CDC memDC;
CBitmap bmp;
CBitmap* old;
pDCtest = this->GetDC();

CSize sz;
sz.cx = 4;
sz.cy = 160;

memDC.CreateCompatibleDC(pDCtest);
bmp.CreateCompatibleBitmap(&memDC, sz.cx, sz.cy);
old = memDC.SelectObject(&bmp);


memDC.FillSolidRect(0,0,sz.cx, sz.cy, COLOR_RED);

COLORREF a = memDC.SetPixel(1,1, COLOR_RED);
COLORREF b = memDC.GetPixel(1,1);

※「COLOR_RED」は
#define COLOR_RED             RGB(255,   0,   0)
と定義しております。


SetPixel、GetPixel時に赤が取得出来ないのですが、原因が分かる方は
おられますでしょうか?

そもそも描画する関数は「この関数を使用すれば良い」みたいなものがございますでし
ょうか?

にーに 2010/03/03(水) 15:37:50
>bmp.CreateCompatibleBitmap(&memDC, sz.cx, sz.cy);

bmp.CreateCompatibleBitmap(pDCtest, sz.cx, sz.cy);
ではないでしょうか?

bird 2010/03/03(水) 16:00:30
[[解決]]
>bmp.CreateCompatibleBitmap(pDCtest, sz.cx, sz.cy);
>ではないでしょうか?

その通りでした!!!
ご指摘いただきありがとうございました!

解決とさせていただきますm(__)m

古いスレッドには追加発言できません。