JS实现控制图片显示大小的方法【图片等比例缩放功能】


Posted in Javascript onFebruary 18, 2017

本文实例讲述了JS实现控制图片显示大小的方法。分享给大家供大家参考,具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>最新javascript自动按比例显示图片,按比例压缩图片显示</title>
<script type="text/javascript">
function AutoResizeImage(maxWidth,maxHeight,objImg){
var img = new Image();
img.src = objImg.src;
var hRatio;
var wRatio;
var Ratio = 1;
var w = img.width;
var h = img.height;
wRatio = maxWidth / w;
hRatio = maxHeight / h;
if (maxWidth ==0 && maxHeight==0){
Ratio = 1;
}else if (maxWidth==0){//
if (hRatio<1) Ratio = hRatio;
}else if (maxHeight==0){
if (wRatio<1) Ratio = wRatio;
}else if (wRatio<1 || hRatio<1){
Ratio = (wRatio<=hRatio?wRatio:hRatio);
}
if (Ratio<1){
w = w * Ratio;
h = h * Ratio;
}
objImg.height = h;
objImg.width = w;
}
</script>
</head>
<body>
<br />
原图显示(534 X 800)<br />
onload="AutoResizeImage(0,0,this)<br />
<a href="//img.jbzj.com/file_images/article/201702/2017218121607044.jpg" target="_blank"><img src="//img.jbzj.com/file_images/article/201702/2017218121607044.jpg" border="0" width="0" height="0" onload="AutoResizeImage(0,0,this)" alt="534 X 800"/></a><br/><br />
1.按宽度250压缩,不限制高度 按比例压缩<br />
onload="AutoResizeImage(250,0,this)"<br />
<a href="https://3water.com/" target="_blank"><img src="//img.jbzj.com/file_images/article/201702/2017218121607044.jpg" border="0" width="0" height="0" onload="AutoResizeImage(250,0,this)" alt="250 X 374"/></a><br /><br />
2.按高度250压缩,不限制宽度 按比例压缩<br />
onload="AutoResizeImage(0,250,this)"<br />
<a href="https://3water.com/" target="_blank"><img src="//img.jbzj.com/file_images/article/201702/2017218121607044.jpg" border="0" width="0" height="0" onload="AutoResizeImage(0,250,this)" alt="166 X 250"/></a><br /><br />
3.按高度250宽度250 按比例压缩<br />
onload="AutoResizeImage(250,250,this)"<br />
<a href="https://3water.com/" target="_blank"><img src="//img.jbzj.com/file_images/article/201702/2017218121607044.jpg" border="0" width="0" height="0" onload="AutoResizeImage(250,250,this)" alt="200 X 300"/></a><br /><br />
4.高宽不等比例压缩 (400 X 512),此时高度不变,会自动按高度的比例压缩。<br />
onload="AutoResizeImage(400,512,this)"<br />
<a href="https://3water.com/" target="_blank"><img src="//img.jbzj.com/file_images/article/201702/2017218121607044.jpg" border="0" width="0" height="0" onload="AutoResizeImage(400,512,this)" alt="341 X 512"/></a><br /><br />
5.高宽不等比例压缩 (300 X 600),此时宽度不变,会自动按宽度的比例压缩。<br />
onload="AutoResizeImage(300,600,this)"<br />
<a href="https://3water.com/" target="_blank"><img src="//img.jbzj.com/file_images/article/201702/2017218121607044.jpg" border="0" width="0" height="0" onload="AutoResizeImage(300,600,this)" alt="300 X 449"/></a><br /><br />
6.如果图片本来的高度和宽度小于压缩的最大高度和宽度,则不会拉大显示图片(按原图显示)<br />
原图444 x 207,压缩为 500 x 600,将保持原图显示<br />
onload="AutoResizeImage(500,600,this)"<br />
<a href="https://3water.com/" target="_blank"><img src="//img.jbzj.com/file_images/article/201702/2017218122006996.jpg" border="0" width="0" height="0" onload="AutoResizeImage(500,600,this)" alt="444 X 207"/></a><br /><br />
</body>
</html>

运行效果图如下:

JS实现控制图片显示大小的方法【图片等比例缩放功能】

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
dotopAlert 提示用户需安装播放器的代码
Sep 17 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
May 27 Javascript
基于JavaScript 下namespace 功能的简单分析
Jul 05 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
Nov 30 Javascript
学习JavaScript设计模式之代理模式
Jan 12 Javascript
谈一谈javascript闭包
Jan 28 Javascript
详解vue事件对象、冒泡、阻止默认行为
Mar 20 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
May 21 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
Jun 19 Javascript
解决vue2中使用elementUi打包报错的问题
Sep 22 Javascript
vue3+typescript实现图片懒加载插件
Oct 26 Javascript
如何在现代JavaScript中编写异步任务
Jan 31 Javascript
JS实现数组去重复值的方法示例
Feb 18 #Javascript
bootstarp modal框居中显示的实现代码
Feb 18 #Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
Feb 18 #Javascript
JS表单数据验证的正则表达式(常用)
Feb 18 #Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
Feb 18 #Javascript
JS设置时间无效问题的解决办法
Feb 18 #Javascript
js的OOP继承实现(必看篇)
Feb 18 #Javascript
You might like
如何对PHP程序中的常见漏洞进行攻击
2006/10/09 PHP
基于php的CMS中展示文章类实例分析
2015/06/18 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
用JQuery实现表格隔行变色和突出显示当前行的代码
2012/02/10 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
抛弃Nginx使用nodejs做反向代理服务器
2014/07/17 NodeJs
js实现仿Discuz文本框弹出层效果
2015/08/13 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)
2016/08/11 Javascript
AngularJS实现表单元素值绑定操作示例
2017/10/11 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
使用Python编写爬虫的基本模块及框架使用指南
2016/01/20 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
如何更优雅地写python代码
2019/07/02 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
利用Python自动化操作AutoCAD的实现
2020/04/01 Python
详解Python 函数参数的拆解
2020/09/02 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
Expedia马来西亚旅游网站:廉价酒店,度假村和航班预订
2016/07/26 全球购物
世界上最大的二手相机店:KEN
2017/05/17 全球购物
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
微软马来西亚官方网站:Microsoft马来西亚
2019/11/22 全球购物
公益活动邀请函
2014/02/05 职场文书
校园公益广告语
2014/03/13 职场文书
求职简历自荐信
2014/06/18 职场文书
物理学专业求职信
2014/07/04 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书
Node.js实现爬取网站图片的示例代码
2022/04/04 NodeJs
Python PIL按比例裁剪图片
2022/05/11 Python