1 Star 2 Fork 0

qxs/Painting-In-Excel

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
demo.au3 3.14 KB
一键复制 编辑 原始数据 按行查看 历史
qxs 提交于 2021-02-15 21:34 . update demo.au3.
#cs
以下数据基于联想笔记本Y7000P,不同电脑由于分辨率,和屏幕大小不同,数据不能完全统一,请自行测量,可以使用截图工具
Snipast 按住F1(默认) 按下键盘 ALT 键进行精准的测量
Excel中设置的单元格大小为 25px × 25px
#ce
Global $Paused
HotKeySet("{SPACE}", "TogglePause") ;暂停脚本按下空格键
HotKeySet("{ESC}", "Terminate") ;终止程序运行请按下 ESC 键
HotKeySet("+!d", "ShowMessage") ;点击 Shift + Alt + d
Func TogglePause()
$Paused = Not $Paused
While $Paused
Sleep(100)
ToolTip('脚本 "暂停"', 0, 0)
WEnd
ToolTip("")
EndFunc ;==>TogglePause
Func Terminate()
Exit 0
EndFunc ;==>Terminate
Func ShowMessage()
MsgBox(4096, "", "这是一个消息.")
EndFunc ;==>ShowMessage
Sleep(5000) ;开始执行程序前暂停脚本执行的时间长度(单位:毫秒, 1000毫秒 = 1秒).
$Width = 2 ;图像的宽度(*必填项)
$Height = 0 ;图像的高度
$Count = 12 ;总共图像的像素 = 图片的长度 × 图片的宽度(*必填项)(在Windows操作系统下可以点击图片,右键属性,点击详细信息可以查看到图片的高度和宽度)
$Path = "C:\in.ini" ;图片rgb数据保存位置
#cs
标准的格式为:
[part1] ==> 表示第一个像素点
R=255
G=0
B=0
[part2] ==> 表示第二个像素点
R=0
G=255
B=0
#ce
$n = 1
$dx = $width
$Right_Down_Flag = False
$Left_Down_Flag = False
$Left_Flag = False
$Right_Flag = True
MouseClick("left",40,282,1) ;Excel中第一个方格的位置,(鼠标左键,x轴的像素点,y轴的像素点,鼠标点击次数)
For $i = 1 To $Count Step +1
If $i = $Width And $n = 1 Then
$Right_Down_Flag = True
$Left_Down_Flag = False
$Right_Flag = False
$Width += $dx
$n = 0
ElseIf $i = $Width And $n = 0 Then
$Right_Down_Flag = False
$Left_Down_Flag = True
$Left_Flag = False
$Width += $dx
$n = 1
EndIf
If $Left_Down_Flag = True Then
$Right_Flag = True
ElseIf $Right_Down_Flag = True Then
$Left_Flag = True
EndIf
$name = "part"&$i
$file1 = IniRead($Path,$name,"R","0")
$file2 = IniRead($Path,$name,"G","0")
$file3 = IniRead($Path,$name,"B","0")
$R = $file1
$G = $file2
$B = $file3
MouseClick("left",289,116,1) ;点击油漆桶右侧小箭头的位置
MouseClick("left",274,373,1) ;点击其他颜色(M)图标的位置
MouseClick("left",726,334,1) ;弹出对话框点击自定义的位置
MouseClick("left",760,574,1) ;红色(R)输入框位置
Send("{BACKSPACE 3}")
Send($R)
MouseClick("left",760,604,1) ;绿色(G)输入框位置
Send("{BACKSPACE 3}")
Send($G)
MouseClick("left",760,634,1) ;蓝色(B)输入框位置
Send("{BACKSPACE 3}")
Send($B)
MouseClick("left",920,338,1) ;确定按钮位置
If $Right_Down_Flag = True Then
Send("{DOWN}")
$Right_Down_Flag = False
ContinueLoop
ElseIf $Left_Down_Flag = True Then
Send("{DOWN}")
$Left_Down_Flag = False
ContinueLoop
EndIf
If $Left_Flag = True Then
Send("{LEFT}")
EndIf
If $Right_Flag = True Then
Send("{RIGHT}")
EndIf
Next
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/shi-xiqiang/painting-in-excel.git
git@gitee.com:shi-xiqiang/painting-in-excel.git
shi-xiqiang
painting-in-excel
Painting-In-Excel
master

搜索帮助