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 相关文章推荐
firefox中JS读取XML文件
Dec 21 Javascript
javascript一个无懈可击的实例化XMLHttpRequest的方法
Oct 13 Javascript
基于JavaScript自定义构造函数的详解说明
Apr 24 Javascript
js中unicode转码方法详解
Oct 09 Javascript
微信小程序 swiper组件轮播图详解及实例
Nov 16 Javascript
深入理解javascript中concat方法
Dec 12 Javascript
URL中“#” “?” &amp;“”号的作用浅析
Feb 04 Javascript
动态Axios的配置步骤详解
Jan 12 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
Apr 10 Javascript
详解vuex commit保存数据技巧
Dec 25 Javascript
vue的滚动条插件实现代码
Sep 07 Javascript
Vue.js数字输入框组件使用方法详解
Oct 19 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
星际玩家的三大定律
2020/03/04 星际争霸
用在PHP里的JS打印函数
2006/10/09 PHP
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
解析php dirname()与__FILE__常量的应用
2013/06/24 PHP
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
Yii2如何批量添加数据
2016/05/17 PHP
PHP静态成员变量和非静态成员变量详解
2017/02/14 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
日期处理的js库(迷你版)--自建js库总结
2011/11/21 Javascript
javascript继承之为什么要继承
2012/11/10 Javascript
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
浅谈JavaScript中setInterval和setTimeout的使用问题
2015/08/01 Javascript
详解javascript数组去重问题
2015/11/06 Javascript
两种JavaScript的AES加密方式(可与Java相互加解密)
2016/08/02 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
JS简单判断函数是否存在的方法
2017/02/13 Javascript
关于jQuery.ajax()的jsonp碰上post详解
2017/07/02 jQuery
vue.js element-ui validate中代码不执行问题解决方法
2017/12/18 Javascript
在Vue里如何把网页的数据导出到Excel的方法
2020/09/30 Javascript
python学习笔记:字典的使用示例详解
2014/06/13 Python
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
python使用PyGame绘制图像并保存为图片文件的方法
2015/04/24 Python
Pycharm运行加载文本出现错误的解决方法
2019/06/27 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
django日志默认打印request请求信息的方法示例
2020/05/17 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
2020/07/09 Python
Flask-SocketIO服务端安装及使用代码示例
2020/11/26 Python
python基于socket模拟实现ssh远程执行命令
2020/12/05 Python
python opencv实现图像配准与比较
2021/02/09 Python
2014年社区学雷锋活动总结
2014/03/09 职场文书
酒店管理毕业生自荐信
2014/05/25 职场文书
研究生导师推荐信
2015/03/25 职场文书
幼儿园开学报名通知
2015/07/16 职场文书