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 相关文章推荐
JavaScript中yield实用简洁实现方式
Jun 12 Javascript
理解Javascript_10_对象模型
Oct 16 Javascript
使用jQuery避免鼠标双击的解决方案
Aug 21 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
Jan 02 Javascript
jQuery实现向下滑出的二级菜单效果实例
Aug 22 Javascript
简单介绍JavaScript数据类型之隐式类型转换
Dec 28 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
Oct 21 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
Jan 27 Javascript
详解使用fetch发送post请求时的参数处理
Apr 05 Javascript
微信小程序 跳转传递数据的实例
Jul 06 Javascript
layui结合form,table的全选、反选v1.0示例讲解
Aug 15 Javascript
详解react阻止无效重渲染的多种方式
Dec 11 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+mysql事务rollback&amp;commit示例
2010/02/08 PHP
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
php设计模式之命令模式使用示例
2014/03/02 PHP
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
分享9点个人认为比较重要的javascript 编程技巧
2015/04/27 Javascript
IScroll5 中文API参数说明和调用方法
2016/05/21 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
浅谈js常用内置方法和对象
2016/09/24 Javascript
详解JavaScript树结构
2017/01/09 Javascript
Map.vue基于百度地图组件重构笔记分享
2017/04/17 Javascript
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
react 国际化的实现代码示例
2018/09/14 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
[02:32]DOTA2英雄基础教程 美杜莎
2014/01/07 DOTA
python如何查看系统网络流量的信息
2016/09/12 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
python中PS 图像调整算法原理之亮度调整
2019/06/28 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
Python退出时强制运行一段代码的实现方法
2020/04/29 Python
python 数据库查询返回list或tuple实例
2020/05/15 Python
python 日志模块 日志等级设置失效的解决方案
2020/05/26 Python
Structs界面控制层技术
2013/10/11 面试题
IBatis持久层技术
2016/07/18 面试题
网络技术专业求职信
2014/02/18 职场文书
说明书怎么写
2014/05/06 职场文书
单位工作证明
2014/10/07 职场文书
网络研修随笔感言
2015/11/18 职场文书
Android超详细讲解组件ScrollView的使用
2022/03/31 Java/Android
深入理解mysql事务隔离级别和存储引擎
2022/04/12 MySQL