【環境】
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時に赤が取得出来ないのですが、原因が分かる方は
おられますでしょうか?
そもそも描画する関数は「この関数を使用すれば良い」みたいなものがございますでし
ょうか?
>bmp.CreateCompatibleBitmap(&memDC, sz.cx, sz.cy);
bmp.CreateCompatibleBitmap(pDCtest, sz.cx, sz.cy);
ではないでしょうか?
>bmp.CreateCompatibleBitmap(pDCtest, sz.cx, sz.cy);
>ではないでしょうか?
その通りでした!!!
ご指摘いただきありがとうございました!
解決とさせていただきますm(__)m