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 相关文章推荐
非常有用的40款jQuery 插件推荐(系列二)
Dec 25 Javascript
异步javascript的原理和实现技巧介绍
Nov 08 Javascript
jQuery层动画定位滑动效果的方法
Apr 30 Javascript
基于JS代码实现图片在页面中旋转效果
Jun 16 Javascript
jquery通过name属性取值的简单实现方法
Jun 20 Javascript
javascript 注释代码的几种方法总结
Jan 04 Javascript
AngularJS 验证码60秒倒计时功能的实现
Jun 05 Javascript
node.js中grunt和gulp的区别详解
Jul 17 Javascript
响应式框架Bootstrap栅格系统的实例
Dec 19 Javascript
微信小程序实现分享到朋友圈功能
Jul 19 Javascript
详解几十行代码实现一个vue的状态管理
Jan 28 Javascript
npx create-react-app xxx创建项目报错的解决办法
Feb 17 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模拟HTTP认证
2006/10/09 PHP
用PHP 4.2书写安全的脚本
2006/10/09 PHP
php生成随机密码自定义函数代码(简单快速)
2014/05/10 PHP
laravel安装和配置教程
2014/10/29 PHP
PHP预定义变量9大超全局数组用法详解
2016/04/23 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
jQuery Lightbox 图片展示插件使用说明
2010/04/25 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
jQuery实现div横向拖拽排序的简单实例
2016/07/13 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
js随机生成一个验证码
2017/06/01 Javascript
axios拦截设置和错误处理方法
2018/03/05 Javascript
JavaScript设计模式之代理模式简单实例教程
2018/07/03 Javascript
使用webpack打包后的vue项目如何正确运行(express)
2018/10/26 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
2020/12/04 Javascript
Python使用gensim计算文档相似性
2016/04/10 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
为什么Python中没有&quot;a++&quot;这种写法
2018/11/27 Python
python简单实现AES加密和解密
2019/03/28 Python
Python单元测试工具doctest和unittest使用解析
2019/09/02 Python
python如何安装下载后的模块
2020/07/03 Python
python3实现飞机大战
2020/11/29 Python
html5触摸事件判断滑动方向的实现
2018/06/05 HTML / CSS
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
Windows和Linux动态库应用异同
2016/04/17 面试题
合伙购房协议样本
2014/10/06 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书
毕业论文答辩开场白和答辩技巧
2015/05/27 职场文书
催款函范本大全
2015/06/24 职场文书
PHP获取学生成绩的方法
2021/11/17 PHP