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 相关文章推荐
简单实用的反馈表单无刷新提交带验证
Nov 15 Javascript
jquery单行文字向上滚动效果示例
Mar 06 Javascript
现如今最流行的JavaScript代码规范
Mar 08 Javascript
60个很实用的jQuery代码开发技巧收集
Dec 15 Javascript
jQuery拖拽插件gridster使用指南
Apr 21 Javascript
AngularJS入门心得之directive和controller通信过程
Jan 25 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
May 29 Javascript
Vue.js组件间通信方式总结【推荐】
Nov 23 Javascript
详解webpack 最简打包结果分析
Feb 20 Javascript
JavaScript中的ES6 Proxy的具体使用
Jun 16 Javascript
微信小程序保存图片到相册权限设置
Apr 09 Javascript
超详细小程序定位地图模块全系列开发教学
Nov 24 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
全国中波电台频率表
2020/03/11 无线电
MySQL修改密码方法总结
2008/03/25 PHP
destoon实现公司新闻详细页添加评论功能的方法
2014/07/15 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
JavaScript实现禁止后退的方法
2006/12/27 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
2014/08/08 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
2015/08/12 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
layui 实现表单和文件上传一起传到后台的例子
2019/09/16 Javascript
js实现双人五子棋小游戏
2020/05/28 Javascript
微信小程序实现日历小功能
2020/11/18 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
[44:15]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第二局
2016/03/06 DOTA
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
python根据经纬度计算距离示例
2014/02/16 Python
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
使用 Python 实现微信群友统计器的思路详解
2018/09/26 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
带你学习Python如何实现回归树模型
2020/07/16 Python
python实现批处理文件
2020/07/28 Python
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
外贸业务员岗位职责
2013/11/24 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
大班上学期幼儿评语
2014/04/30 职场文书
酒店开业策划方案
2014/06/02 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
高中军训感想
2015/08/07 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
2019奶茶店创业计划书范本!
2019/07/15 职场文书
MySQL学习必备条件查询数据
2022/03/25 MySQL