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 相关文章推荐
jQuery 研究心得 取得属性的值
Nov 30 Javascript
javascript 可以拖动的DIV(二)
Jun 26 Javascript
Extjs407 getValue()和getRawValue()区别介绍
May 21 Javascript
多种方法实现JS动态添加事件
Nov 01 Javascript
使用js显示当前时间示例
Mar 02 Javascript
文字垂直滚动之javascript代码
Jul 29 Javascript
简单实现js选项卡切换效果
Feb 03 Javascript
将angular.js项目整合到.net mvc中的方法详解
Jun 29 Javascript
vue.js前后端数据交互之提交数据操作详解
Apr 24 Javascript
vue最简单的前后端交互示例详解
Oct 11 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
May 30 Javascript
详解ES6 中的Object.assign()的用法实例代码
Jan 11 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
PHP5 安装方法
2007/01/15 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
2016/05/16 PHP
php页面跳转session cookie丢失导致不能登录等问题的解决方法
2016/12/12 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
JavaScript的面向对象(二)
2006/11/09 Javascript
通过JAVASCRIPT读取ASP设定的COOKIE
2006/11/24 Javascript
精选的10款用于构建良好易用性网站的jQuery插件
2011/01/23 Javascript
关于jquery css的使用介绍
2013/04/18 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
ajax+jQuery实现级联显示地址的方法
2015/05/06 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
JS实现的验证身份证及获取地区功能示例
2017/01/16 Javascript
angular.js+node.js实现下载图片处理详解
2017/03/31 Javascript
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
vue子传父关于.sync与$emit的实现
2019/11/05 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
2020/03/16 Javascript
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
django foreignkey外键使用的例子 相当于left join
2019/08/06 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
PyTorch预训练的实现
2019/09/18 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
2020/03/16 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
类的返射机制中的包及核心类
2016/09/12 面试题
中学生学习生活的自我评价
2013/10/26 职场文书
行政文员岗位职责
2013/11/08 职场文书
个人贷款承诺书
2014/03/28 职场文书
社团活动总结报告
2014/06/27 职场文书
小学少先队活动总结
2015/05/08 职场文书
vue的项目如何打包上线
2022/04/13 Vue.js
Python 统计序列中元素的出现频度
2022/04/26 Python