0

我写了一个基本的裁剪脚本。在 VB 脚本中。如下:

<%Set Jpeg = Server.CreateObject("Persits.Jpeg")
getsec = DateDiff("s","01/01/04",now())
filename = "screenshots/"&getsec&".png"
imgfile = request("imgfile")
Jpeg.Open Server.MapPath(imgfile)
Jpeg.Crop 0, 38, 320, 460
Jpeg.Canvas.DrawPNG 0, 0,  Server.MapPath("watermark.png")
Jpeg.PNGOutput = True
Jpeg.Save Server.MapPath(filename)
%>
<%=filename%>

然而,而不是硬编码这些变量:

Jpeg.Crop 0, 38, 320, 460

我想在裁剪之前使用 vbscript 找出图像大小,这样如果上传不同的图像大小,脚本可以更加灵活。有人知道怎么做吗?

4

2 回答 2

2

您的Jpeg对象(ASPJpeg 实例)具有调用方法后可访问.OriginalWidth.OriginalHeight属性。.Open你可以使用它们。

于 2012-09-24T15:50:10.363 回答
1

一种选择是使用 loadpicture 函数。(另见http://www.w3schools.com/vbscript/func_loadpicture.asp

要获取像素,您可以使用以下命令:

Dim sPath
sPath = "C:\myPicture.jpg"
dim iWidth, iHeight
dim oFs, oImg
Set oFs= CreateObject("Scripting.FileSystemObject")
Set oImg = loadpicture(sPath)
iWidth = round(oImg.width / 26.4583)
iHeight = round(oImg.height / 26.4583)
Set oImg = Nothing
于 2012-09-24T14:14:06.240 回答