Workeasy不变形批量转换图片大小
1、遍历程序所在文件夹(也可单独设置),并打开JPG文件。
2、获取JPG文件宽高,并判断宽高。
3、如果宽>=高,现宽=400,现高=400*JPEG图片的宽/JPEG图片的高;TMP=(400-现高)/2,然后用ASPJPEG的Crop 0,-TMP,400,现高+TMP,这样图片上下就有一个上下一样大小的空白,这样就是一个400×400的图片了,怎么改变大小都不会变形了;同理,设高400,然后在图片两边加一个同样大小的空白。
4、保存文件。
这样就全自动修改了图片的大小,而且不会变形,2个小时的工作只需1秒,嘎嘎,爽呆呆咯……
代码如下,需要安装ASPJPEG,否则不会正常运行:
<html>
<head>
<script type="text/vbscript">
Function Mappath(v)
Mappath=fso.getAbsolutePathName(v)
End Function
Sub Convert
for each file in fpo.files
if ucase(fso.getExtensionName(file))="JPG" Then
jpeg.open file
owidth=jpeg.originalwidth
oheight=jpeg.originalheight
if owidth>=oheight then
jpeg.width=400
jpeg.height=400*oheight/owidth
om=(400-jpeg.height)/2
jpeg.crop 0,0-om,400,jpeg.height+om
else
jpeg.width=400*owidth/oheight
jpeg.height=400
om=(400-jpeg.width)/2
jpeg.crop 0-om,0,jpeg.width+om,400
end if
jpeg.save file
jpeg.close
end if
next
msgbox "转换完毕!"
window.close
End Sub
set fso=CreateObject("Scripting.FileSystemObject")
set jpeg=CreateObject("Persits.JPEG")
set fpo=fso.getFolder(Mappath(""))
</script>
</head>
<body style="background:#D4D0C8;text-align:center;" onload="Convert">
<div style="width:640px;height:400px;margin-top:50px;border:solid 2px #666;background:#FFF;font-size:48px;font-weight:bold;font-family:黑体;line-height:400px;">请稍后……</div>
</body>
</html>