[转] 自定义取色函数
2015-08-21 10:29
441 查看
AHK官网中文论坛挖来的获取颜色函数:
GetColor() ;鼠标下颜色
GetColor(7,7) ;指定座标的颜色
GetColor(7,7,7,7) ;指定范围,将返回以高度为轴的二级对象。
克服内置取色命令的以下缺点:
在毛玻璃下延迟严重。
批量取色效率低下。
原地址:http://ahkscript.org/boards/viewtopic.php?f=28&t=5023
GetColor() ;鼠标下颜色
GetColor(7,7) ;指定座标的颜色
GetColor(7,7,7,7) ;指定范围,将返回以高度为轴的二级对象。
克服内置取色命令的以下缺点:
在毛玻璃下延迟严重。
批量取色效率低下。
GetColor(x:="",y:="",w:=1,h:=1){ ;取色 static pt pt?"":(DllCall("GetModuleHandle","str","gdiplus","UPtr"),VarSetCapacity(i,A_PtrSize=8?24:16,0),i:=Chr(1) ,DllCall("gdiplus\GdiplusStartup","UPtr*",pt,"UPtr",&i,"UPtr",0)) ,(x="")?GetCursorPos(x,y):"" ,d:=DllCall("CreateCompatibleDC","Uint",0),VarSetCapacity(b,40,0),NumPut(w,b,4,"uint") ,NumPut(h,b,8,"uint"),NumPut(40,b,0,"uint"),NumPut(1,b,12,"ushort"),NumPut(0,b,16,"uInt"),NumPut(32,b,14,"ushort") ,m:=DllCall("CreateDIBSection","UPtr",d,"UPtr",&b,"uint",0,"UPtr*",0,"UPtr",0,"uint",0,"UPtr") ,o:=DllCall("SelectObject","UPtr",d,"UPtr",m) ,DllCall("BitBlt","UPtr",d,"int",0,"int",0,"int",w,"int",h,"UPtr",i:=DllCall("GetDC","UPtr",0),"int",x,"int",y,"uint",0x00CC0020) ,DllCall("ReleaseDC","UPtr",0,"UPtr",i) ,DllCall("gdiplus\GdipCreateBitmapFromHBITMAP","UPtr",m,"UPtr",Palette,"UPtr*",p) ,DllCall("SelectObject","UPtr",d,"UPtr",o),DllCall("DeleteObject","UPtr",m) ,DllCall("DeleteDC","UPtr",i),DllCall("DeleteDC","UPtr",d),VarSetCapacity(t,16) ,NumPut(0,t,0,"uint"),NumPut(0,t,4,"uint"),NumPut(w,t,8,"uint"),NumPut(h,t,12,"uint") ,VarSetCapacity(b,16+2*A_PtrSize,0),DllCall("Gdiplus\GdipBitmapLockBits","UPtr",p,"UPtr",&t,"uint",3,"int",0x26200a,"UPtr",&b) ,e:= NumGet(b,8,"Int"),u:=NumGet(b,16,"UPtr"),r:=A_FormatInteger SetFormat,IntegerFast,hex if (w>1 or h>1) { f:=[] Loop,%h% { f[A_Index]:=j:=[],s:=(A_Index-1)*e Loop,%w% j[A_Index]:=NumGet(u+0,((A_Index-1)*4)+s,"UInt") & 0x00ffffff "" } } else f:=NumGet(u+0,0,"UInt") & 0x00ffffff "" SetFormat,IntegerFast,%r% DllCall("Gdiplus\GdipBitmapUnlockBits","UPtr",p,"UPtr",0) DllCall("gdiplus\GdipDisposeImage", "uint", p) return f }
原地址:http://ahkscript.org/boards/viewtopic.php?f=28&t=5023
相关文章推荐
- [LeetCode] Find Minimum in Rotated Sorted Array
- android:修改PagerTabStrip中的背景颜色,标题字体的样式、颜色和图标以及指示条的颜色
- MVC中用View.bag保存json字符串。在js中使用,不用ajax请求。。。。
- 8月18日全球域名商(国际域名)解析新增量TOP25
- hdu 2066 一个人的旅行-spfa
- mongodb创建集合
- hdu 1016 Prime Ring Problem(DFS)
- codeforces 177B2 B2. Rectangular Game(数论)
- href="javascript:void(0);"与#差异
- css style与class之间的区别,cssclass
- AD域撤销域用户管理员权限方案
- HTTP协议请求方式: 中GET、POST和HEAD的介绍
- bzoj1251: 序列终结者
- iOS开发~CocoaPods使用详细说明
- UVa 1513 / UVALive 5902 Movie collection (树状数组)
- java中abstract怎么使用
- App工程结构搭建:几种常见Android代码架构分析
- win7 64位解决Infragistics.NetAdvantage 安装时总是提示%SystemDriver%inetpub\wwwroot错误的方法
- 使用mac下Fiddler的替代工具Charles进行手机抓包
- BOM——浏览器对象模型(Browser Object Model)