分类: 系统工具 |
; xbeta 2006-09-05 http://blog.sina.com.cn/m/xbeta
; 考虑到有些抓屏软件png只能24BP真彩色,而实际颜色不过几百或十几,可以减小色深来明显减小文件体积。可以通过本宏和Irfanview来实现。
;================================================
; 在IrfanView的窗口模式下(非全屏),按alt+d,脚本会:
; 先确定颜色数,热键 alt+i+i
; 再减色:热键 alt+i+d后,根据上一步颜色数确定色深
; 保存,确认
;================================================
; 请先检查代码!请勿在重要场合测试!测试前请备份原文件(本脚本不提醒直接覆盖原文件)
; 考虑到有些抓屏软件png只能24BP真彩色,而实际颜色不过几百或十几,可以减小色深来明显减小文件体积。可以通过本宏和Irfanview来实现。
;================================================
; 在IrfanView的窗口模式下(非全屏),按alt+d,脚本会:
; 先确定颜色数,热键 alt+i+i
; 再减色:热键 alt+i+d后,根据上一步颜色数确定色深
; 保存,确认
;================================================
; 请先检查代码!请勿在重要场合测试!测试前请备份原文件(本脚本不提醒直接覆盖原文件)
!d::
SetTitleMatchMode, 2
SetTitleMatchMode, 2
; 1 准备
WinActivate, Irfanview
WinActivate, Irfanview
; 2 查色
send, {alt}i
sleep, 20
send, i
winwait, IrfanView - Image properties
controlgettext, OutputVar, Edit12, IrfanView - Image properties
send, {enter}
send, {alt}i
sleep, 20
send, i
winwait, IrfanView - Image properties
controlgettext, OutputVar, Edit12, IrfanView - Image properties
send, {enter}
; 3 减色
send, {alt}i
sleep, 20
send, d
winwait, Decrease
send, {alt}i
sleep, 20
send, d
winwait, Decrease
if OutputVar<3
;GuiControl, , Button3, 1;;
无效,只好用下述办法
send, {alt down}2{alt up}{enter}
;
else if OutputVar<17
send, {alt down}1{alt up}{enter}
else if OutputVar<258
send, {alt down}5{alt up}{enter}
else
{
send, {esc}
MsgBox,,,
"颜色数为%OutputVar%,保持真彩,未做减色", 1.5
return
}
else if OutputVar<258
else
; 4 保存
winwait, IrfanView
send, s
winwait, Save
send, {enter}
winwait, IrfanView
send, y
MsgBox,,, "恭喜!已按%OutputVar%色优化并保存", 1.5
return
winwait, IrfanView
send, s
winwait, Save
send, {enter}
winwait, IrfanView
send, y
MsgBox,,, "恭喜!已按%OutputVar%色优化并保存", 1.5
return
前一篇:GVIM:而今迈步从头越