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 相关文章推荐
Array.prototype.concat不是通用方法反驳[译]
Sep 20 Javascript
jquery实现的Accordion折叠面板效果代码
Sep 02 Javascript
JQuery解析XML的方法小结
Apr 02 Javascript
jquery attr()设置和获取属性值实例教程
Sep 25 Javascript
jquery 多个radio的click事件实例
Dec 03 Javascript
Angularjs实现分页和分页算法的示例代码
Dec 23 Javascript
原生JS实现层叠轮播图
May 17 Javascript
安装vue-cli报错 -4058 的解决方法
Oct 19 Javascript
一文了解vue-router之hash模式和history模式
May 31 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
May 09 Javascript
vue Element左侧无限级菜单实现
Jun 10 Javascript
全面解析JavaScript Module模式
Jul 24 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 缓存实现代码及详细注释
2010/05/16 PHP
PHP实现微信公众平台音乐点播
2014/03/20 PHP
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
使用堆实现Top K算法(JS实现)
2015/12/25 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
javaScript中定义类或对象的五种方式总结
2016/12/04 Javascript
js中的闭包学习心得
2018/02/06 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
JavaScript 常见的继承方式汇总
2020/09/17 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python 分离文件名和路径以及分离文件名和后缀的方法
2018/10/21 Python
解决python线程卡死的问题
2019/02/18 Python
在python plt图表中文字大小调节的方法
2019/07/08 Python
实例讲解Python 迭代器与生成器
2020/07/08 Python
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
2013/11/18 HTML / CSS
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
2013/01/09 HTML / CSS
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
一些Unix笔试题和面试题
2012/09/25 面试题
网游商务专员求职信
2013/10/15 职场文书
优秀的毕业生的自我评价
2013/12/12 职场文书
工程售后服务承诺书
2014/05/21 职场文书
2014年个人教学工作总结
2014/12/09 职场文书
门卫管理制度范本
2015/08/05 职场文书
奖学金申请个人主要事迹材料
2015/11/04 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
导游词之上海东方明珠塔
2019/09/25 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL