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下拉框内容左右移动效果的具体实现
Jul 10 Javascript
JQuery文字列表向上滚动的代码
Nov 13 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
Dec 23 Javascript
js无刷新操作table的行和列
Mar 27 Javascript
JavaScript实现Java中StringBuffer的方法
Feb 09 Javascript
简述AngularJS相关的一些编程思想
Jun 23 Javascript
Backbone.js框架中Model与Collection的使用实例
May 07 Javascript
Node.js+Express配置入门教程
May 19 Javascript
js判断是否是手机页面
Mar 17 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
Oct 11 Javascript
解决vuex刷新状态初始化的方法实现
Aug 15 Javascript
js实现幻灯片轮播图
Aug 14 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中使用Oracle数据库(2)
2006/10/09 PHP
腾讯QQ微博API接口获取微博内容
2013/10/30 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
js编写一个简单的产品放大效果代码
2016/06/27 Javascript
node.js版本管理工具n无效的原理和解决方法
2016/11/24 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
用Vue写一个分页器的示例代码
2018/04/22 Javascript
微信小程序利用canvas 绘制幸运大转盘功能
2018/07/06 Javascript
vue.js 添加 fastclick的支持方法
2018/08/28 Javascript
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
python学习之面向对象【入门初级篇】
2017/01/21 Python
python实现八大排序算法(1)
2017/09/14 Python
基于Python log 的正确打开方式
2018/04/28 Python
python中强大的format函数实例详解
2018/12/05 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
python让函数不返回结果的方法
2020/06/22 Python
日本非常有名的内衣丝袜品牌:GUNZE
2017/01/06 全球购物
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
全球领先的在线cosplay服装商店:RoleCosplay
2020/01/18 全球购物
国际金融专业大学生职业生涯规划书
2013/12/28 职场文书
出纳会计岗位职责
2014/03/12 职场文书
节约粮食标语
2014/06/18 职场文书
2014年档案管理员工作总结
2014/12/01 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书
QT与javascript交互数据的实现
2021/05/26 Javascript
pytorch 如何使用batch训练lstm网络
2021/05/28 Python
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android