JavaScript实现网页图片等比例缩放实现代码及调用方式


Posted in Javascript onFebruary 25, 2013

在处理网页图片时,特别是一些图片列表的应用里面,很难保证图片统一大小,直接设置图片大小又会导致图片拉伸,造成图片模糊,本文介绍的代码可以在图片加载完成后自动按比例调整图片大小。
Javascript:

< script language="javascript" type="text/javascript"> 
< !-- 
// 说明:用 JavaScript 实现网页图片等比例缩放 
// 整理:http://www.CodeBit.cn 
function DrawImage(ImgD,FitWidth,FitHeight) 
{ 
var image=new Image(); 
image.src=ImgD.src; 
if(image.width>0 && image.height>0) 
{ 
if(image.width/image.height>= FitWidth/FitHeight) 
{ 
if(image.width>FitWidth) 
{ 
ImgD.width=FitWidth; 
ImgD.height=(image.height*FitWidth)/image.width; 
} 
else 
{ 
ImgD.width=image.width; 
ImgD.height=image.height; 
} 
} 
else 
{ 
if(image.height>FitHeight) 
{ 
ImgD.height=FitHeight; 
ImgD.width=(image.width*FitHeight)/image.height; 
} 
else 
{ 
ImgD.width=image.width; 
ImgD.height=image.height; 
} 
} 
} 
} 
//--> 
< script>

调用方式:
Code:
<img src="1148202890.jpg" alt="自动缩放后的效果" onload="javascript:DrawImage(this,200,200);" />

如果图片较大,建议在图片标签里面同时设置期望的图片大小,这样不会导致页面在加载中撑开,该大小不会影响最终缩放效果。可以修改上面的代码为:
Code:
<img src="1148202890.jpg" alt="自动缩放后的效果" width="200" height="200" onload="javascript:DrawImage(this,200,200);" />
Javascript 相关文章推荐
JS获取dom 对象 ajax操作 读写cookie函数
Nov 18 Javascript
将查询条件的input、select清空
Jan 14 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
Oct 23 Javascript
利用python分析access日志的方法
Oct 26 Javascript
React Native中的RefreshContorl下拉刷新使用
Oct 09 Javascript
JS中this的指向以及call、apply的作用
May 06 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
Sep 14 Javascript
读懂CommonJS的模块加载
Apr 19 Javascript
JavaScript事件冒泡机制原理实例解析
Jan 14 Javascript
JS面向对象编程实现的拖拽功能案例详解
Mar 03 Javascript
JavaScript常用工具函数库汇总
Sep 17 Javascript
在vue中使用image-webpack-loader实例
Nov 12 Javascript
30分钟就入门的正则表达式基础教程
Feb 25 #Javascript
js根据给定的日期计算当月有多少天实现思路及代码
Feb 25 #Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
Feb 22 #Javascript
IE的fireEvent方法概述及应用
Feb 22 #Javascript
js取得url地址参数实例
Feb 22 #Javascript
js模拟滚动条(横向竖向)
Feb 22 #Javascript
js时间日期和毫秒的相互转换
Feb 22 #Javascript
You might like
JAVA/JSP学习系列之七
2006/10/09 PHP
php is_file()和is_dir()用于遍历目录时用法注意事项
2010/03/02 PHP
PHP微框架Dispatch简介
2014/06/12 PHP
实例讲解php实现多线程
2019/01/27 PHP
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
js列举css中所有图标的实现代码
2011/07/04 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
jQuery Ajax调用WCF服务详细教程
2015/03/31 Javascript
js弹出对话框方式小结
2015/11/17 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
很酷的星级评分系统原生JS实现
2016/08/25 Javascript
Node.js websocket使用socket.io库实现实时聊天室
2017/02/20 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
解决js ajax同步请求造成浏览器假死的问题
2018/01/18 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
2018/08/27 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
优雅地使用loading(推荐)
2019/04/20 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
Pthon批量处理将pdb文件生成dssp文件
2015/06/21 Python
Python 读写文件和file对象的方法(推荐)
2016/09/12 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
银行领导证婚词
2014/01/11 职场文书
《跨越百年的美丽》教学反思
2014/02/11 职场文书
2014小学一年级班主任工作总结
2014/12/05 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
详解CSS伪元素的妙用单标签之美
2021/05/25 HTML / CSS