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 相关文章推荐
Javascript 篱式条件判断
Aug 22 Javascript
Firebug 字幕文件JSON地址获取代码
Oct 28 Javascript
jquery图片延迟加载 前端开发技能必备系列
Jun 18 Javascript
实现局部遮罩与关闭原理及代码
Feb 04 Javascript
JavaScript定义变量和变量优先级问题探讨
Oct 11 Javascript
javascript创建函数的20种方式汇总
Jun 23 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
Sep 05 Javascript
jquery如何获取元素的滚动条高度等实现代码
Oct 19 Javascript
Vue2.0+ElementUI实现表格翻页的实例
Oct 23 Javascript
深入理解Vue nextTick 机制
Apr 28 Javascript
layer.prompt输入层的例子
Sep 24 Javascript
js实现点击选项置顶动画效果
Aug 25 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
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
php echo()和print()、require()和include()函数区别说明
2010/03/27 PHP
php+mysqli数据库连接的两种方式
2015/01/28 PHP
windows7配置Nginx+php+mysql的详细教程
2016/09/04 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
php与c 实现按行读取文件实例代码
2017/01/03 PHP
php中Swoole的热更新实现代码实例
2021/03/04 PHP
jQuery $.each的用法说明
2010/03/22 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
nodejs实现的一个简单聊天室功能分享
2014/12/06 NodeJs
JavaScript学习笔记之基础语法
2015/01/22 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
jQuery使用unlock.js插件实现滑动解锁
2017/04/04 jQuery
JavaScript实现省市县三级级联特效
2017/05/16 Javascript
Node.js 的模块知识汇总
2017/08/16 Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
2018/10/12 Javascript
Javascript实现关闭广告效果
2021/01/29 Javascript
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
Python实现发送email的几种常用方法
2014/08/18 Python
python实现文件快照加密保护的方法
2015/06/30 Python
python列出目录下指定文件与子目录的方法
2015/07/03 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
python利用Opencv实现人脸识别功能
2019/04/25 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
pyenv与virtualenv安装实现python多版本多项目管理
2019/08/17 Python
如何用用Python将地址标记在地图上
2021/02/07 Python
Nili Lotan官网:Nili Lotan同名品牌
2018/01/07 全球购物
GWT的应用有哪两种部署模式
2012/12/21 面试题
业务员工作态度散漫检讨书
2014/11/02 职场文书
护理专业自荐信范文
2015/03/06 职场文书
2016年中秋祝酒词
2015/11/26 职场文书
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang
python中Pyqt5使用Qlabel标签播放视频
2022/04/22 Python