标题:Qt取屏幕上任何点的RGB值
作者:wxyao
日期:2011-04-15 23:36
内容:
//-----------------------------------
感谢Qtcn的roywillow的帮助:
我做过这方面的东西
我的做法是,获得鼠标在屏幕中的位置(QCursor的某个函数)
然后用grabWindow截取QDesktopWidget,但是截取的范围设为鼠标位置1*1的大小,因为只用到一个点罢了
然后将这个QPixmap转换为QImage,获取这个唯一一点的颜色(我是用scanLine获取的)
我之前是取全屏幕的,grapWindow抓全屏幕用时间挺长的,100多毫秒。改成只抓一个像素,用时不到一毫秒。
#1 [roywillow 04-16 08:31]
=w=不错嘛
其实我用类似的方法还实现了屏幕放大镜,当时是跟这个一起做的
不知道有没有处理鼠标跟随?就是说移动到哪就自动显示哪的颜色
#2 [wxyao 04-16 11:44]
有处理鼠标跟随的,不过不是监听鼠标移动事件,而是用定时器去定时获取光标的位置。
static QCursor::pos()
#3 [hessian 04-16 20:48]
学习了, 我也准备做这么个东西,再加上个选择范围的尺寸,可以将点选位置的RGB值复制到剪贴板.
刚刚从ksnapshot里把regiongrabber抽了出来研究...嘿嘿
#4 [downstairs 04-17 11:57]
感谢分享
#5 [andyliang 04-18 14:32]
恩
恩
恩