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 相关文章推荐
jquery实现盒子下拉效果示例代码
Sep 12 Javascript
ExtJS4给Combobox设置列表中的默认值示例
May 02 Javascript
JS实现根据当前文字选择返回被选中的文字
May 21 Javascript
JavaScript中的Function函数
Aug 27 Javascript
详解javascript函数的参数
Nov 10 Javascript
解决WordPress使用CDN后博文无法评论的错误
Dec 15 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
Jan 08 Javascript
js实现按座位号抽奖
Apr 05 Javascript
详解Angular 开发环境搭建
Jun 22 Javascript
Vue.js 中的实用工具方法【推荐】
Jul 04 Javascript
Vue路由的模块自动化与统一加载实现
Jun 05 Javascript
vant 解决tab切换插件标题样式自定义的问题
Nov 13 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
PHP中Array相关函数简介
2016/07/03 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
2016/07/09 PHP
php基于闭包实现函数的自调用(递归)实例分析
2016/11/11 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
JS模拟的QQ面板上的多级可展开的菜单
2009/10/10 Javascript
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
浅析js封装和作用域
2013/07/09 Javascript
NodeJS使用jQuery选择器操作DOM
2015/02/13 NodeJs
超漂亮的jQuery图片轮播特效
2015/11/24 Javascript
jQuery插件passwordStrength密码强度指标详解
2016/06/24 Javascript
详解Angular 开发环境搭建
2017/06/22 Javascript
微信小程序学习之数据处理详解
2017/07/05 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
关于python2 csv写入空白行的问题
2018/06/22 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
2018/07/25 Python
python爬虫之线程池和进程池功能与用法详解
2018/08/02 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
如何在Django项目中引入静态文件
2019/07/26 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
Django REST Framework 分页(Pagination)详解
2020/11/30 Python
html5 视频播放解决方案
2016/11/06 HTML / CSS
家长会邀请书
2014/01/25 职场文书
元旦晚会邀请函
2014/01/27 职场文书
私人会所最新创业计划书范文
2014/03/24 职场文书
个人工作表现评语
2014/04/30 职场文书
我读书我快乐演讲稿
2014/05/07 职场文书
学习雷锋标语
2014/06/25 职场文书
《叶问2》观后感
2015/06/15 职场文书
大学新生入学感想
2015/08/07 职场文书
小学家庭教育心得体会
2016/01/14 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书