社区
图形处理/算法
帖子详情
请教高手:如何以HBITMAP判断位图是否为黑色。在线等待,谢谢!
alexshucai
2004-06-25 10:54:58
如何以HBITMAP位图句柄来判断位图是否为黑色。或一个位图文件为全黑色?
谢谢!
...全文
351
11
打赏
收藏
请教高手:如何以HBITMAP判断位图是否为黑色。在线等待,谢谢!
如何以HBITMAP位图句柄来判断位图是否为黑色。或一个位图文件为全黑色? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zwlpower
2004-06-28
打赏
举报
回复
各位,要不要这么麻烦呀。
即然了有HBITMAP 的Handle.判断是否全黑,很快的方法。
CBitmap* bm;
bm=CBitmap.FromHandle(HBITMAP);
DWORD k;
byte* lpbits;
bm.GetBitmapBits(k,lpbits);
for(int i=0;i<k;i++)
{
if(lpbits[i]!=0xFF)
{
return TRUE;
}
}
return FALSE;
alexshucai
2004-06-28
打赏
举报
回复
谢谢天问的热心,程序稍作修改就可以用了。
也感谢其他朋友!
zwlpower
2004-06-28
打赏
举报
回复
CBitmap* bm;
bm=CBitmap.FromHandle(HBITMAP);
BITMAP bitmap;
bm->GetBitamp(&bitmap);
DWORD k=(bmitmap.bmHeight*bmitmap.bmWidth*bmitmap.bmPlanes*bmitmap.bmBitsPixel)/sizeof(byte)/8;
byte* lpbits=new byte[k];
bm.GetBitmapBits(k,lpbits);
for(int i=0;i<k;i+=bmBitsPixel/sizeof(byte)/8)
{
if(lpbits[i]!=0x000000)
{
return TRUE;
}
}
return FALSE;
alexshucai
2004-06-28
打赏
举报
回复
谢谢大家,不好意思来晚了。
GetPixel(x,y) 中的x,y在位图句柄里如何确定呢?我要知道位图里是否为纯色要得到每个点的值吧?
to zwlpower(天问) ;
谢谢你写的例子,但我调不通,还在调试。 好像是lpbits这个参数没取到值。
solon2003
2004-06-27
打赏
举报
回复
clrPixel 是你想要得到的颜色值,而x,y是象素的坐标值。
nineclock
2004-06-27
打赏
举报
回复
GetPixel
宝_爸
2004-06-27
打赏
举报
回复
CDC memDC ;
memDC.CreateCompatibleDC(NULL) ;//创建内存DC
CBitmap bitmap ;
bitmap.Attach(hbitmap) ;
memDC.SelectObject(&bitmap) ;
COLORREF clrPixel = memDC.GetPixel(x,y) ;//x,y就是你想要得到的颜色值
lianglp
2004-06-27
打赏
举报
回复
CDC memDC ;
memDC.CreateCompatibleDC(NULL) ;//创建内存DC
CBitmap bitmap ;
bitmap.Attach(hbitmap) ;
memDC.SelectObject(&bitmap) ;
COLORREF clrPixel = memDC.GetPixel(x,y) ;//x,y就是你想要得到的颜色值
lixiaosan
2004-06-26
打赏
举报
回复
用GetPixel得到位图象素颜色
wenyuzhang168
2004-06-25
打赏
举报
回复
GetPixel
酒红绿叶
2004-06-25
打赏
举报
回复
d可以根据句柄得到象素信息,判断是否为0就可以了,
DIB熟悉些!
好像有GetPixel这个函数吧!
HDC
BITMAP
BitBlt
判断
位图
是否
为
黑色
GetDIBits
关于GDI,怎样通过 HDC 获取 DC 当前的 H
BITMAP
https://zhidao.baidu.com/question/1302472552069867299.html H
BITMAP
bmp=GetCurrentObject(hdc,OBJ_
BITMAP
);
VC小知识(转)
请注意前两个函数的第一个参数为目录变量名,后一个为缓冲区后两个相反. (5) 如何自定义消息 1) 手工定义消息,可以这么写 #define WM_MY_MESSAGE(WM_USER+100), MS 推荐的至少是 WM_USER+100 (2)写...
[Copied] 80 VC++ tips
请注意前两个函数的第一个参数为目录变量名,后一个为缓冲区后两个相反. (5) 如何自定义消息 1) 手工定义消息,可以这么写 #define WM_MY_MESSAGE(WM_USER+100), MS 推荐的至少是 WM_USER+100 (2)写消息...
VC常用小知识
请注意前两个函数的第一个参数为目录变量名,后一个为缓冲区后两个相反. (5) 如何自定义消息 1) 手工定义消息,可以这么写 #define WM_MY_MESSAGE(WM_USER+100), MS 推荐的至少是 WM_USER+100 (2)写消息处理...
VC小知识
请注意前两个函数的第一个参数为目录变量名,后一个为缓冲区后两个相反. (5) 如何自定义消息 1) 手工定义消息,可以这么写 #define WM_MY_MESSAGE(WM_USER+100), MS 推荐的至少是 WM_USER+100 (2)写消息处理...
图形处理/算法
19,473
社区成员
50,690
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章