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 得到文件后缀(通过正则实现)
Jul 08 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
Aug 07 Javascript
对比分析json及XML
Nov 28 Javascript
jquery实现像栅栏一样左右滑出式二级菜单效果代码
Aug 24 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
Jul 01 Javascript
javascript加载xml 并解析各节点的值(实现方法)
Oct 12 Javascript
javascript创建对象的3种方法
Nov 02 Javascript
Bootstrap源码解读排版(1)
Dec 23 Javascript
countUp.js实现数字滚动效果
Oct 18 Javascript
vue实现路由不变的情况下,刷新页面操作示例
Feb 02 Javascript
js实现简单的贪吃蛇游戏
Apr 23 Javascript
Echarts如何重新渲染实例详解
May 30 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程序员面试 切忌急功近利(更需要注重以后的发展)
2010/09/01 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
ajax+php控制所有后台函数调用
2015/07/15 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
php转换上传word文件为PDF的方法【基于COM组件】
2019/06/10 PHP
js函数般调用正则
2008/04/08 Javascript
javascript两段代码,两个小技巧
2010/02/04 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
js控制当再次点击按钮时的间隔时间
2014/06/03 Javascript
JQuery中的html()、text()、val()区别示例介绍
2014/09/01 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
2018/07/30 Javascript
Webpack 4如何动态切割JS注入文件名详解
2019/07/09 Javascript
微信小程序保持session会话的方法
2020/03/20 Javascript
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
python33 urllib2使用方法细节讲解
2013/12/03 Python
python把1变成01的步骤总结
2019/02/27 Python
如何表示python中的相对路径
2020/07/08 Python
Python urlopen()参数代码示例解析
2020/12/10 Python
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
Zooplus罗马尼亚:宠物食品和配件
2019/11/02 全球购物
会计助理的岗位职责
2013/11/29 职场文书
搞笑车尾标语
2014/06/23 职场文书
敲诈同学钱财检讨书范文
2014/11/18 职场文书
小学教师2014年度工作总结
2014/12/03 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
老人与海读书笔记
2015/06/26 职场文书
同学聚会致辞集锦
2015/07/28 职场文书
《日月潭》教学反思
2016/02/20 职场文书
嵌入式Redis服务器在Spring Boot测试中的使用教程
2021/07/21 Redis
Python函数中apply、map、applymap的区别
2021/11/27 Python
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电