js 控制图片大小核心讲解


Posted in Javascript onOctober 09, 2013

缩放图片脚本分享

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title> New Document </title> 
<meta name="Generator" content="EditPlus"> 
<meta name="Author" content=""> 
<meta name="Keywords" content=""> 
<meta name="Description" content=""> <script> 
function AutoResizeImage(maxWidth,maxHeight){ 
var objImg = document.getElementById("operImg"); 
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> 
<img src="1111.jpg" border="0" alt="534 X 800" id="operImg"/> 
<input type="button" value="缩放至宽100px,等比例压缩" onclick="AutoResizeImage(100,0)"/> 
<input type="button" value="缩放至300px,等比例压缩" onclick="AutoResizeImage(300,0)"/> 
<input type="button" value="原图" onclick="AutoResizeImage(0,0)"/> 
</body> 
</html>

重点js:
function AutoResizeImage(maxWidth,maxHeight){ 
var objImg = document.getElementById("operImg"); 
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; 
}
Javascript 相关文章推荐
完整显示当前日期和时间的JS代码
Sep 17 Javascript
jquery 双色表格实现代码
Dec 08 Javascript
jquery 插件学习(六)
Aug 06 Javascript
按下回车键指向下一个位置的一个函数代码
Mar 10 Javascript
Javascript获取当前时间函数和时间操作小结
Oct 01 Javascript
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
Jan 08 Javascript
jQuery实现对网页节点的增删改查功能示例
Sep 18 jQuery
在vue组件中使用axios的方法
Mar 16 Javascript
详解es6超好用的语法糖Decorator
Aug 01 Javascript
详解微信小程序中组件通讯
Oct 30 Javascript
JavaScript判断数组类型的方法
Oct 23 Javascript
vue移动端写的拖拽功能示例代码
Sep 09 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
Oct 09 #Javascript
自己编写的类似JS的trim方法
Oct 09 #Javascript
jquery()函数的三种语法介绍
Oct 09 #Javascript
javascript禁用键盘功能键让右击及其他键无效
Oct 09 #Javascript
jquery右下角弹出提示框示例代码
Oct 08 #Javascript
让复选框只能选择一项的方法
Oct 08 #Javascript
js中的push和join方法使用介绍
Oct 08 #Javascript
You might like
PHP 5.0对象模型深度探索之绑定
2006/09/05 PHP
PHP XML操作类DOMDocument
2009/12/16 PHP
PHP并发多进程处理利器Gearman使用介绍
2016/05/16 PHP
CI框架整合widget(页面格局)的方法
2016/05/17 PHP
PHP array_reduce()函数的应用解析
2018/10/28 PHP
php layui实现前端多图上传实例
2019/07/30 PHP
javascript下查找父节点的简单方法
2007/08/13 Javascript
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
2010/05/27 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
学习使用AngularJS文件上传控件
2016/02/16 Javascript
Javascript基础教程之比较null和undefined值
2016/05/16 Javascript
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
js+css3实现旋转效果
2017/01/20 Javascript
JavaScrip数组去重操作实例小结
2019/06/20 Javascript
vue 二维码长按保存和复制内容操作
2020/09/22 Javascript
js实现简易ATM功能
2020/10/27 Javascript
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
Python中使用中文的方法
2011/02/19 Python
python开发之str.format()用法实例分析
2016/02/22 Python
Python内置函数OCT详解
2016/11/09 Python
python 创建弹出式菜单的实现代码
2017/07/11 Python
python3.0 模拟用户登录,三次错误锁定的实例
2017/11/02 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
浅谈CSS3 动画卡顿解决方案
2019/01/02 HTML / CSS
优秀团员个人的自我评价
2013/10/02 职场文书
小学班主任评语大全
2014/04/23 职场文书
个人学习总结范文
2015/02/15 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书
个人廉政承诺书
2015/04/28 职场文书
《领导干部从政道德启示录》学习心得体会
2016/01/20 职场文书
MySQL 四种连接和多表查询详解
2021/07/16 MySQL