码迷,mamicode.com
首页 > 其他好文 > 详细

AutoHotkey调用系统调色板获取颜色

时间:2020-12-31 11:41:56      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:mic   lag   efault   https   return   style   code   flag   需求   

写脚本有时候需要选择颜色,在AutoHotkey论坛上看到了 ChooseColor 函数,由于原来的算法有点麻烦,我稍微调整了下分享出来。

并增加了 argb 的选项(不过生成的都是完全不透明的颜色,有需求的可自行调整)

; https://docs.microsoft.com/en-us/windows/win32/api/commdlg/ns-commdlg-choosecolora-r1
;系统的调色板选择颜色
selectColor(bARGB:=false, bRGB:=true) {
    VarSetCapacity(CC, 36+64, 0)
    NumPut(36, CC)
    NumPut(hOwner:=0, CC, A_PtrSize)
    NumPut(clDefault:=0, CC, A_PtrSize * 3)
    NumPut(&CC+36, CC, A_PtrSize * 4) ; COLORREF *lpCustColors
    NumPut(flags:=3, CC, A_PtrSize * 5)
    DllCall("comdlg32\ChooseColorA", "Str",CC)
    if bRGB {
        nBGR := numget(CC, A_PtrSize * 3)
        cl := (nBGR & 0xFF) << 16 | nBGR & 0x0000FF00 | nBGR >> 16
    } else 
        cl := numget(CC, A_PtrSize * 3)
    return bARGB ? (0xff000000 | cl) : cl ;转成 argb,透明度为ff(完全不透明),可自行修改
}

 

AutoHotkey调用系统调色板获取颜色

标签:mic   lag   efault   https   return   style   code   flag   需求   

原文地址:https://www.cnblogs.com/hyaray/p/14191037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!