当前位置 博文首页 > ASP固定比例裁剪缩略图的方法

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

    作者:admin 时间:2021-08-27 19:03

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

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

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

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

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

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

    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
    
    jsjbwy