关于vc 将屏幕和bmp图载入到内存中的问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 09:53:02
我现在正在写一个类似按键精灵找图的函数 请高手帮忙解答下
1,怎样将屏幕矩形区域载入到内存 cdc中
2,怎样将bmp图载入到cdc中,并且得到bmp图的长和宽
3,怎样读取里面每个点的颜色值 要速度快一点的 最好把他们的颜色值按x,y保存在一个二维数组中
最好发上代码包括头文件 我是菜鸟

得到屏幕矩形区域:
CDC* pDC=::GetDC(NULL);
CDC mdc;//内存DC
int cx=GetSystemMetrics(SM_CXSCREEN)
int cy=GetSystemMetrics(SM_CYSCREEN)
mdc.BitBlt(0,0,cx,cy,pDC,0,0,SRCCOPY);
这样屏幕矩形区域就载入到内存DC中
2得到bmp长和宽:
CBitmap Bitmap;
Bitmap.LoadBitmap(IDB_BITMAP1);
BITMAP bmp;
Bitmap.GetBitmap(&bmp);
int cxBitmap = bmp.bmWidth;
int cyBitmap = bmp.bmHeight;

3得到每一点的颜色值;
先将位图载入CDC:
CBitmap Bitmap;
Bitmap.LoadBitmap(IDB_BITMAP1);
pDC->SelectObject(&Bitmap);
COLORREF cr;
cr=pDC->GetPixel(x,y);//x,y为像素点坐标

对于我来讲,你是高手了....
- -!

我都听的一头雾水`