标签:javascript css aspect-ratio image-resizing
参见英文答案 > 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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。