這篇文章主要介紹了ASP固定比例裁剪縮略圖的方法,需要的朋友可以參考下
一般生成縮略圖的方法有兩種:
第一種:縮放成固定大小的小圖片
第二種:縮放成等比例的小圖片
第一種方法的缺點是,會使圖片變形,例如一個身材苗條的MM變成一個胖MM
第二種方法的缺點是,如果圖片是放在一個表格中顯示,並且圖片寬高比和這個表格不同,就不能充滿整個表格,留下空隙,不好看
這裡介紹的方法是固定比例裁剪,使用aspjpeg組件,也就是說,生成的縮略圖寬高比是固定的,但是不會變形。如果原圖的寬高比大於設定的寬高比,就會自動剪掉左右兩旁多餘的圖;如果原圖的寬高比小於設定的寬高比,就會自動剪掉上下的多餘的圖。
?
- FunctionMakePic(sourcpic,newwidth,newheight,destpic)
- Onerrorresumenext
- MakePic=false
- SetJpeg=Server.CreateObject(Persits.Jpeg)
- ifErrthen
- response.Write(錯誤:空間沒安裝aspjpeg組件)
- response.end
- endif
- Jpeg.Quality=100
- Jpeg.Opensourcpic
- jpeg.PreserveAspectRatio=True'等比縮放
- ifjpeg.OriginalWidth/jpeg.OriginalHeight>newwidth/newheightthen'太扁了,要剪掉左右部分
- jpeg.Height=newheight
- jpeg.cropCInt((jpeg.Width–newwidth)/2),0,CInt((jpeg.Width–newwidth)/2)+newwidth,newheight
- else'太高了,要剪掉上下部分
- jpeg.Width=newwidth
- jpeg.crop0,CInt((jpeg.Height–newheight)/2),newwidth,CInt((jpeg.Height–newheight)/2)+newheight
- endif
- Jpeg.Savedestpic
- iferr.number=0thenMakePic=True
- Jpeg.Close
- SetJpeg=Nothing
- Endfunction