一般生成縮略圖的方法有兩種:
一是縮放成固定大小的小圖片
二是縮放成等比例的小圖片
第一種方法的缺點是,會使圖片變形,例如一個身材苗條的MM變成一個胖MM
第二種方法的缺點是,如果圖片是放在一個表格中顯示,並且圖片寬高比和這個表格不同,就不能充滿整個表格,留下空隙,不好看
這裡介紹的方法是“固定比例裁剪”,也就是說,生成的縮略圖寬高比是固定的,但是不會變形。如果原圖的寬高比大於設定的寬高比,就會自動剪掉左右兩旁多余的圖;如果原圖的寬高比小於設定的寬高比,就會自動剪掉上下的多余的圖。
Copy to Clipboard
引用的內容:[www.veryhuo.com]
‘===============================================
‘生成新規格大小的圖片
‘失敗返回False,成功返回True
‘sourcpic-源圖片絕對路徑,newwidth-新圖片寬,newheight-新圖片高,destpic-目標圖片絕對路徑
‘===============================================
Function MakePic(sourcpic,newwidth,newheight,destpic)
On error resume next
MakePic=false
Set Jpeg = Server.CreateObject(“Persits.Jpeg”)
if Err then
response.Write (“錯誤:空間沒安裝aspjpeg組件”)
response.end
end if
Jpeg.Quality = 100
Jpeg.Open sourcpic
jpeg.PreserveAspectRatio = True ‘等比縮放
if jpeg.OriginalWidth/jpeg.OriginalHeight > newwidth/newheight then’太扁了,要剪掉左右部分
jpeg.Height = newheight
jpeg.crop CInt((jpeg.Width – newwidth)/2),0,CInt((jpeg.Width – newwidth)/2)+newwidth,newheight
else ‘太高了,要剪掉上下部分
jpeg.Width = newwidth
jpeg.crop 0,CInt((jpeg.Height – newheight)/2),newwidth,CInt((jpeg.Height – newheight)/2)+newheight
end if
Jpeg.Save destpic
if err.number=0 then MakePic=True
Jpeg.Close
Set Jpeg=Nothing
End function