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页面滚动时层智能浮动定位实现(jQuery/MooTools)
Aug 23 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
Feb 05 Javascript
自己编写的类似JS的trim方法
Oct 09 Javascript
JavaScript事件委托的技术原理探讨示例
Apr 17 Javascript
javascript搜索框点击文字消失失焦时文本出现
Sep 18 Javascript
JavaScript节点及列表操作实例小结
Aug 05 Javascript
微信小程序 自己制作小组件实例详解
Dec 22 Javascript
基于vue.js中事件修饰符.self的用法(详解)
Feb 23 Javascript
微信小程序调用微信支付接口的实现方法
Apr 29 Javascript
vue实现图片上传预览功能
Dec 23 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
Apr 26 Javascript
JS实现单张或多张图片持续无缝滚动的示例代码
May 10 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
使用NetBeans + Xdebug调试PHP程序的方法
2011/04/12 PHP
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
PHP中error_reporting()用法详解
2015/08/31 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
thinkphp5.1框架容器与依赖注入实例分析
2019/07/23 PHP
Prototype Function对象 学习
2009/07/12 Javascript
JQuery的一些小应用收集
2010/03/27 Javascript
javascript简易缓动插件(源码打包)
2012/02/16 Javascript
javascript倒计时功能实现代码
2012/06/07 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
JQuery CheckBox(复选框)操作方法汇总
2015/04/15 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
Bootstrap CSS组件之输入框组
2016/12/17 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
vue2.0学习之axios的封装与vuex介绍
2018/05/28 Javascript
对Layer弹窗使用及返回数据接收的实例详解
2019/09/26 Javascript
Python计算机视觉里的IOU计算实例
2020/01/17 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
2012/10/20 HTML / CSS
Expedia瑞典官网:预订度假屋、酒店、汽车租赁、机票等
2021/01/23 全球购物
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
初中女生自我鉴定
2013/12/19 职场文书
收银员岗位职责
2014/02/07 职场文书
会计人员岗位职责
2015/02/03 职场文书
幼儿园托班教育随笔
2015/08/14 职场文书
2016年毕业实习心得体会范文
2015/10/09 职场文书
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python
css样式important规则的正确使用方式
2022/06/10 HTML / CSS