关于vc 将屏幕和bmp图载入到内存中的问题
我现在正在写一个类似按键精灵找图的函数请高手帮忙解答下1,怎样将屏幕矩形区域载入到内存cdc中2,怎样将bmp图载入到cdc中,并且得到bmp图的长和宽3,怎样读取里面每...
我现在正在写一个类似按键精灵找图的函数 请高手帮忙解答下
1,怎样将屏幕矩形区域载入到内存 cdc中
2,怎样将bmp图载入到cdc中,并且得到bmp图的长和宽
3,怎样读取里面每个点的颜色值 要速度快一点的 最好把他们的颜色值按x,y保存在一个二维数组中
最好发上代码包括头文件 我是菜鸟 展开
1,怎样将屏幕矩形区域载入到内存 cdc中
2,怎样将bmp图载入到cdc中,并且得到bmp图的长和宽
3,怎样读取里面每个点的颜色值 要速度快一点的 最好把他们的颜色值按x,y保存在一个二维数组中
最好发上代码包括头文件 我是菜鸟 展开
2个回答
展开全部
得到屏幕矩形区域:
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为像素点坐标
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为像素点坐标
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询