Re: What is wrong with Set(Get)Pixel ?
One more thing, I don't know how much Set/GetPixling you are going to do,
but just as a reminder, it is painfully slow. If you find yourself doing
this a lot or for larger bitmaps, you might want to look at alternative
methods of set and get pixel.
A few years back when I was doing a lot of bitmap manipulations (for circuit
board display), I had to write my own drawing functions (line, rect,
pixel.....) that would manipulate the bitmap bits directly and bypass the DC
all together. (Wish I had kept a copy of that class.)
Not sure how much faster GDI+ is but I would also give that a try.
AliR.
"AliR [VC++ MVP]" <AliR@online.nospam> wrote in message
news:uqBH39R5JHA.1380@TK2MSFTNGP05.phx.gbl...
In addition to David's answer, why aren't you using the MFC classes for
all this?
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap Bmp;
Bmp.CreateCompatibleBitmap(hm,60,60);
CBitmap *pOldBmp = MemDC.SelectObject(&Bmp);
COLORREF test = MemDC.SetPixel(2,2,255);
test = MemDC.GetPixel(,2,2);
MemDC.SelectObject(pOldBmp);
AliR.
"Henryk Birecki" <soaringpilot@sbcglobal.net> wrote in message
news:rfve2517jsoh5oshs5cqqa7l00ksuvldvs@4ax.com...
Can someone tell me what is wrong with the code below?
The symptom is that SetPixel returns 0 instead of 255. I can also do
BitBlt to the DC and it indicates success, but even then GetPixel(x,y)
always returns zero.
Thanks,
Henryk Birecki
HDC hm=CreateCompatibleDC(NULL);
HBITMAP hb=CreateCompatibleBitmap(hm,60,60);
hb=(HBITMAP)SelectObject(hm,hb);
COLORREF test=SetPixel(hm,2,2,255);
test=GetPixel(hm,2,2);
hb=(HBITMAP)SelectObject(hm,hb);
DeleteDC(hm);
DeleteObject(hb);