标题:用 GetPixel 后台取色,怎么取不到窗口左上角 1,1 的颜色
只看楼主
Ez330阿牛
Rank: 2
等 级:论坛游民
帖 子:42
专家分:14
注 册:2014-3-5
结帖率:11.11%
 问题点数:0 回复次数:1 
用 GetPixel 后台取色,怎么取不到窗口左上角 1,1 的颜色
程序代码:
nDc = GetDC(hWndTarget) *得到指定窗口句柄DC
mDc = CreateCompatibleDC(nDc) *创建内存DC
mBmp = CreateCompatibleBitmap(nDc, w, h) *该函数创建与指定的设备环境相关的设备兼容的位图。
*mBmp = CreateDIBSection(nDc, bi24BitInfo, DIB_RGB_COLORS, ByVal 0&, ByVal 0&, ByVal 0&)
oldBmp = SelectObject(mDc, mBmp) *把窗口位图选入内存DC
PrintWindow hWndTarget, mDc, 0 *把窗口截取保存到内存DC中,
Color = GetPixel(mDc, X, Y) *得到指定点颜色
2014-09-05 11:36
茅十八
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:35
专家分:123
注 册:2014-3-11
得分:0 
mBmp = CreateCompatibleBitmap(nDc, w, h) *该函数创建与指定的设备环境相关的设备兼容的位图。
你确定你设定兼容位图的大小正确吗?
位图大小的设定 影响到 “目标图像”的“拉伸”,说白了就把图像损坏失真

个人QQ:1789851851,有学习问题,欢迎找我讨论,另外Win32 SDK开发群:179492890
2014-09-09 18:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-435721-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.127605 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved