ASP固定比例裁剪缩略图的方法

ASP教程 2025-08-07

这篇文章主要介绍了ASP固定比例裁剪缩略图的方法,需要的朋友可以参考下

一般生成缩略图的方法有两种:

第一种:缩放成固定大小的小图片

第二种:缩放成等比例的小图片

第一种方法的缺点是,会使图片变形,例如一个身材苗条的MM变成一个胖MM

第二种方法的缺点是,如果图片是放在一个表格中显示,并且图片宽高比和这个表格不同,就不能充满整个表格,留下空隙,不好看

这里介绍的方法是固定比例裁剪,使用aspjpeg组件,也就是说,生成的缩略图宽高比是固定的,但是不会变形。如果原图的宽高比大于设定的宽高比,就会自动剪掉左右两旁多余的图;如果原图的宽高比小于设定的宽高比,就会自动剪掉上下的多余的图。

  1. FunctionMakePic(sourcpic,newwidth,newheight,destpic)
  2. Onerrorresumenext
  3. MakePic=false
  4. SetJpeg=Server.CreateObject(Persits.Jpeg)
  5. ifErrthen
  6. response.Write(错误:空间没安装aspjpeg组件)
  7. response.end
  8. endif
  9. Jpeg.Quality=100
  10. Jpeg.Opensourcpic
  11. jpeg.PreserveAspectRatio=True‘等比缩放
  12. ifjpeg.OriginalWidth/jpeg.OriginalHeight>newwidth/newheightthen'太扁了,要剪掉左右部分
  13. jpeg.Height=newheight
  14. jpeg.cropCInt((jpeg.Width–newwidth)/2),0,CInt((jpeg.Width–newwidth)/2)+newwidth,newheight
  15. else‘太高了,要剪掉上下部分
  16. jpeg.Width=newwidth
  17. jpeg.crop0,CInt((jpeg.Height–newheight)/2),newwidth,CInt((jpeg.Height–newheight)/2)+newheight
  18. endif
  19. Jpeg.Savedestpic
  20. iferr.number=0thenMakePic=True
  21. Jpeg.Close
  22. SetJpeg=Nothing
  23. Endfunction
?