图片等比缩放到指定区域

Posted superior0325

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图片等比缩放到指定区域相关的知识,希望对你有一定的参考价值。

经常会遇到将图片等比缩放到某个特定大小的区域内,比如,预览图片、图片全屏显示等等,自己写了一个方法直接返回适应后的图片大小。

function getimagesize(imgSrc, imgW, imgH) {

    // 定义返回的大小
    var imgNewSize = {};
    //获取图片
    // 定义新的宽高
    var neww = 0,newh = 0,mt = 0,ml = 0;
    // 获取原本宽高
    var imgLayerW = imgSrc.width;
    var imgLayerH = imgSrc.height;


    var rateW = imgW / imgLayerW,rateH = imgH / imgLayerH;
    if(rateW < rateH){
        neww = imgLayerW * rateW;
        newh = imgLayerH * rateW
        mt = (imgH - newh) / 2;
    } else{
        neww = imgLayerW * rateH;
        newh = imgLayerH * rateH;
        ml = (imgW - neww) / 2;
    }

    imgNewSize["w"] = neww;
    imgNewSize["h"] = newh;
    imgNewSize["mt"] = mt;
    imgNewSize["ml"] = ml;
    return imgNewSize;
}

  

第一个参数imgSrc,代表要设置等比缩放的图片对象;第二个参数imgW,代表特定区域的宽度;第三个参数imgH,代表特定区域的高度。返回值是一个数组对象,w:新的宽度;h:新的高度;mt:等比缩放后的margin-top值,为了垂直方向
居中;ml:等比缩放后margin-left值,为了水平方向居中,然后再将这四个样式值应用到图片上就可以了。
这样无论你的图片和指定区域是怎样比例的矩形都能够等比展示出来,不压缩,不拉伸。

以上是关于图片等比缩放到指定区域的主要内容,如果未能解决你的问题,请参考以下文章

php等比例缩放图片及剪切图片代码

html中怎么把图片按比例缩放在<span>里面

PHP学习笔记:等比例缩放图片

背景图片等比缩放的写法background-size简写法

php实现等比例不失真缩放上传图片的方法

php 生成缩略图