javascript – 调整SMALLEST图像尺寸
作者:互联网
参见英文答案 > How do I auto-resize an image to fit a div container 30个
这似乎是以前会被问过但我找不到副本的东西……
我希望图像的最小尺寸最大可缩放200,同时保持纵横比.所以:
> 600×400图像的最小尺寸为400,应为200,因此比例为0.5:新图像为300×200
>同样400×800将是200×400
> 100×300的最小尺寸已经是< 200所以它将保持100x300.
显然,如果它可以用css完成那么这比javascript更受欢迎.
解决方法:
是的,你需要JS:
function scale(W, H, max) {
var min = Math.min(W, H), // Get the smallest size
nr = min>max, // NeededResize (Boolean)
rat = Math.min(max/W, max/H);// Ratio
return {
W: nr?W*rat:W, // if NeededResize do W*rat, else just use the image W
H: nr?H*rat:H
};
}
// Use like: scale(imageWidth, imageHeight, maxSizeToRespect);
var resize = scale(this.width, this.height, 200);
// Where from now on
resize.W // is the returned width scale
resize.H // is the returned height scale
标签:javascript,css,aspect-ratio,image-resizing 来源: https://codeday.me/bug/20190629/1322551.html