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面试题与Javascript词法作用域说明
Nov 09 Javascript
javascript实现省市区三级联动下拉框菜单
Nov 17 Javascript
使用Node.js处理前端代码文件的编码问题
Feb 16 Javascript
ES6 Promise对象概念与用法分析
Apr 01 Javascript
基于Cookie常用操作以及属性介绍
Sep 07 Javascript
js封装成插件的步骤方法
Sep 11 Javascript
JS设计模式之观察者模式实现实时改变页面中金额数的方法
Feb 05 Javascript
JavaScript的Object.defineProperty详解
Jul 09 Javascript
layui type2 通过url给iframe子页面传值的例子
Sep 06 Javascript
Vue+Element实现网页版个人简历系统(推荐)
Dec 31 Javascript
详解javascript void(0)
Jul 13 Javascript
Element DateTimePicker日期时间选择器的使用示例
Jul 27 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中foreach循环中使用引用要注意的地方
2011/01/02 PHP
仿AS3实现PHP 事件机制实现代码
2011/01/27 PHP
php判断是否连接上网络的方法实例详解
2016/12/14 PHP
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
微信小程序实现人脸检测功能
2018/05/25 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
浅谈Vue页面级缓存解决方案feb-alive(上)
2019/04/14 Javascript
layui table 列宽百分比显示的实现方法
2019/09/28 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
Python中线程编程之threading模块的使用详解
2015/06/23 Python
Django的session中对于用户验证的支持
2015/07/23 Python
Python实现HTTP协议下的文件下载方法总结
2016/04/20 Python
python select.select模块通信全过程解析
2017/09/20 Python
python基础教程项目三之万能的XML
2018/04/02 Python
基于Pyinstaller打包Python程序并压缩文件大小
2020/05/28 Python
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
中国最大的团购网站:聚划算
2016/09/21 全球购物
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
专升本个人自我评价
2013/12/22 职场文书
元旦晚会策划方案
2014/02/18 职场文书
护士岗前培训自我评鉴
2014/02/28 职场文书
国际经济与贸易专业大学生职业规划书
2014/03/01 职场文书
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
打架检讨书
2015/01/27 职场文书
团代会开幕词
2015/01/28 职场文书
搞笑老公保证书
2015/02/26 职场文书
刑事上诉状(无罪)
2015/05/23 职场文书
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏