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 相关文章推荐
document 和 document.all 分别什么时候用
Jun 22 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
Jul 09 Javascript
关于原生js中bind函数的简单实现
Aug 10 Javascript
使用vue制作FullPage页面滚动效果
Aug 21 Javascript
webpack学习笔记之优化缓存、合并、懒加载
Aug 24 Javascript
简单的Vue SSR的示例代码
Jan 12 Javascript
linux 后台运行node服务指令方法
May 23 Javascript
jQuery实现点击图标div循环放大缩小功能
Sep 30 jQuery
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
Apr 17 Javascript
微信小程序移动拖拽视图-movable-view实例详解
Aug 17 Javascript
Vue基础配置讲解
Nov 29 Javascript
原生JS实现飞机大战小游戏
Jun 09 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
Apache设置虚拟WEB
2006/10/09 PHP
php zend解密软件绿色版测试可用
2008/04/14 PHP
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
php的laravel框架快速集成微信登录的方法
2016/12/12 PHP
jQuery 页面载入进度条实现代码
2009/02/08 Javascript
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
如何让页面加载完成后执行js
2013/06/26 Javascript
简单几行JS Code实现IE邮件转发新浪微博
2013/07/03 Javascript
将文本输入框内容加入表中的js代码
2013/08/18 Javascript
在JS数组特定索引处指定位置插入元素
2014/07/27 Javascript
JavaScript类继承及实例化的方法
2015/07/25 Javascript
限制复选框最多选择项的实现代码
2016/05/30 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
vue 添加vux的代码讲解
2017/11/30 Javascript
js canvas画布实现高斯模糊效果
2018/11/27 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
Vue-cli打包后部署到子目录下的路径问题说明
2020/09/02 Javascript
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
python中的代码编码格式转换问题
2015/06/10 Python
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
python 获取url中的参数列表实例
2018/12/18 Python
python并发编程多进程 互斥锁原理解析
2019/08/20 Python
python生成requirements.txt的两种方法
2019/09/18 Python
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
2014最新自愿离婚协议书范本
2014/11/19 职场文书
2014年管理工作总结
2014/11/22 职场文书
2015年幼儿园大班工作总结
2015/04/25 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
昆虫记读书笔记
2015/06/26 职场文书
2016年基层党组织创先争优承诺书
2016/03/25 职场文书
Python入门之使用pandas分析excel数据
2021/05/12 Python
python基础入门之普通操作与函数(三)
2021/06/13 Python
Redis 常见使用场景
2021/08/30 Redis
python缺失值填充方法示例代码
2022/12/24 Python