Workeasy之不变形批量转换图片文件大小

通过WorkEasy之上传图片预览工具Workeasy之图片文件统计打印大大的提高了我们的工作效率,是上传图片成为了一个轻松的问题,因为用的图片不得不做一下处理,用的图片大小甚至是200×900像素,服务器程序用ASPJPEG生成120×120的缩略图,因为为了快捷,所以直接穿了上去不,不变形才怪~~

然后是客户提出种种意见,然后我们开始了无休无止的修改图片为统一的大小,长宽比为1:1,用WorkEasy之上传图片预览工具列出图片,本来30张图二十多分钟就传完了,但是修改30张图甚至用到两个小时~对于我这种懒人简直是一个要命的问题,曾今想过N多次不干了,但是又N+1次回到了工作岗位~

十一长假,别人都放了一个星期,而我们仅仅2天~555555,压得活太多了~

昨天没事看了看ASPJPEG的文档,E文的,因为在回老家了,没有时间上网,简直是…,好在我对VBScript用的还是比较熟练(在自己博客上就不谦虚了),在家上有效果图,这样就大体明白了ASPJPEG的用法,然后写出了这个小工具!

Workeasy之不变行批量转换图片文件大小,嘎嘎,简直太棒了,能自动修改图片大小,而且不变形,代码很简单,我在老家写的,先吧主要代码写在纸上,会来马上放到了博客,呵呵,明天工作,狂轻松了,。。,。

用了ASPJPEG,大体思路如下:
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:800;font-family:黑体;line-height:400px;">
请稍后...
</div>
</body>
</html>

Workeasy之不变形批量转换图片文件大小》上有2条评论

  1. Pingback引用通告: ASPJPEG中文教程(文档)

发表评论

电子邮件地址不会被公开。 必填项已用*标注