ASP使用aspjpeg固定比例裁剪缩略图

2015-08-12 16:01:00来源:作者:人点击

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

  一是缩放成固定大小的小图片

  二是缩放成等比例的小图片

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

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

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

  Copy to ClipboardLiehuo.Net Codes

  引用的内容:[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

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台