JS实现控制图片显示大小的方法【图片等比例缩放功能】


Posted in Javascript onFebruary 18, 2017

本文实例讲述了JS实现控制图片显示大小的方法。分享给大家供大家参考,具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>最新javascript自动按比例显示图片,按比例压缩图片显示</title>
<script type="text/javascript">
function AutoResizeImage(maxWidth,maxHeight,objImg){
var img = new Image();
img.src = objImg.src;
var hRatio;
var wRatio;
var Ratio = 1;
var w = img.width;
var h = img.height;
wRatio = maxWidth / w;
hRatio = maxHeight / h;
if (maxWidth ==0 && maxHeight==0){
Ratio = 1;
}else if (maxWidth==0){//
if (hRatio<1) Ratio = hRatio;
}else if (maxHeight==0){
if (wRatio<1) Ratio = wRatio;
}else if (wRatio<1 || hRatio<1){
Ratio = (wRatio<=hRatio?wRatio:hRatio);
}
if (Ratio<1){
w = w * Ratio;
h = h * Ratio;
}
objImg.height = h;
objImg.width = w;
}
</script>
</head>
<body>
<br />
原图显示(534 X 800)<br />
onload="AutoResizeImage(0,0,this)<br />
<a href="//img.jbzj.com/file_images/article/201702/2017218121607044.jpg" target="_blank"><img src="//img.jbzj.com/file_images/article/201702/2017218121607044.jpg" border="0" width="0" height="0" onload="AutoResizeImage(0,0,this)" alt="534 X 800"/></a><br/><br />
1.按宽度250压缩,不限制高度 按比例压缩<br />
onload="AutoResizeImage(250,0,this)"<br />
<a href="https://3water.com/" target="_blank"><img src="//img.jbzj.com/file_images/article/201702/2017218121607044.jpg" border="0" width="0" height="0" onload="AutoResizeImage(250,0,this)" alt="250 X 374"/></a><br /><br />
2.按高度250压缩,不限制宽度 按比例压缩<br />
onload="AutoResizeImage(0,250,this)"<br />
<a href="https://3water.com/" target="_blank"><img src="//img.jbzj.com/file_images/article/201702/2017218121607044.jpg" border="0" width="0" height="0" onload="AutoResizeImage(0,250,this)" alt="166 X 250"/></a><br /><br />
3.按高度250宽度250 按比例压缩<br />
onload="AutoResizeImage(250,250,this)"<br />
<a href="https://3water.com/" target="_blank"><img src="//img.jbzj.com/file_images/article/201702/2017218121607044.jpg" border="0" width="0" height="0" onload="AutoResizeImage(250,250,this)" alt="200 X 300"/></a><br /><br />
4.高宽不等比例压缩 (400 X 512),此时高度不变,会自动按高度的比例压缩。<br />
onload="AutoResizeImage(400,512,this)"<br />
<a href="https://3water.com/" target="_blank"><img src="//img.jbzj.com/file_images/article/201702/2017218121607044.jpg" border="0" width="0" height="0" onload="AutoResizeImage(400,512,this)" alt="341 X 512"/></a><br /><br />
5.高宽不等比例压缩 (300 X 600),此时宽度不变,会自动按宽度的比例压缩。<br />
onload="AutoResizeImage(300,600,this)"<br />
<a href="https://3water.com/" target="_blank"><img src="//img.jbzj.com/file_images/article/201702/2017218121607044.jpg" border="0" width="0" height="0" onload="AutoResizeImage(300,600,this)" alt="300 X 449"/></a><br /><br />
6.如果图片本来的高度和宽度小于压缩的最大高度和宽度,则不会拉大显示图片(按原图显示)<br />
原图444 x 207,压缩为 500 x 600,将保持原图显示<br />
onload="AutoResizeImage(500,600,this)"<br />
<a href="https://3water.com/" target="_blank"><img src="//img.jbzj.com/file_images/article/201702/2017218122006996.jpg" border="0" width="0" height="0" onload="AutoResizeImage(500,600,this)" alt="444 X 207"/></a><br /><br />
</body>
</html>

运行效果图如下:

JS实现控制图片显示大小的方法【图片等比例缩放功能】

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
Js基础学习资料
Nov 23 Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
Dec 15 Javascript
jQuery动态添加
Apr 07 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
May 10 Javascript
setTimeout学习小结
Feb 08 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
May 03 Javascript
利用node.js实现自动生成前端项目组件的方法详解
Jul 12 Javascript
vue mixins组件复用的几种方式(小结)
Sep 06 Javascript
Vue之Vue.set动态新增对象属性方法
Feb 23 Javascript
vue实现鼠标移入移出事件代码实例
Mar 27 Javascript
Layui动态生成select下拉选择框不显示的解决方法
Sep 24 Javascript
javascript全局自定义鼠标右键菜单
Dec 08 Javascript
JS实现数组去重复值的方法示例
Feb 18 #Javascript
bootstarp modal框居中显示的实现代码
Feb 18 #Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
Feb 18 #Javascript
JS表单数据验证的正则表达式(常用)
Feb 18 #Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
Feb 18 #Javascript
JS设置时间无效问题的解决办法
Feb 18 #Javascript
js的OOP继承实现(必看篇)
Feb 18 #Javascript
You might like
php基础知识:类与对象(1)
2006/12/13 PHP
PHP文章按日期(月日)SQL归档语句
2012/11/29 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
js菜单点击显示或隐藏效果的简单实例
2014/01/13 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
原生js实现简单的模态框示例
2017/09/08 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
2017/12/08 Javascript
axios 处理 302 状态码的解决方法
2018/04/10 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
python的三目运算符和not in运算符使用示例
2014/03/03 Python
实现Python与STM32通信方式
2019/12/18 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
QT5 Designer 打不开的问题及解决方法
2020/08/20 Python
python链表类中获取元素实例方法
2021/02/23 Python
HTML5 声明兼容IE的写法
2011/05/16 HTML / CSS
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
AutoShack.com加拿大:北美主要的汽车零部件零售商
2019/07/24 全球购物
英国领先的鞋类零售商和顶级品牌的官方零售商:Wynsors
2020/02/17 全球购物
八年级历史教学反思
2014/01/10 职场文书
成人继续教育实施方案
2014/03/01 职场文书
广告语设计及教案
2014/03/21 职场文书
售后服务承诺书模板
2014/05/21 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
初中生考试作弊检讨书
2014/12/14 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
15个值得收藏的JavaScript函数
2021/09/15 Javascript
Python学习之os包使用教程详解
2022/03/21 Python