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 相关文章推荐
Jquery实现的一种常用高亮效果示例代码
Jan 28 Javascript
javascript内置对象arguments详解
Mar 16 Javascript
javascript中的this详解
Dec 08 Javascript
jQuery实现冻结表头的方法
Mar 09 Javascript
JS弹出对话框实现方法(三种方式)
Dec 18 Javascript
修改jquery中dialog的title属性方法(推荐)
Aug 26 Javascript
微信小程序页面间通信的5种方式
Mar 31 Javascript
JS实现将二维数组转为json格式字符串操作示例
Jul 12 Javascript
Vuejs开发环境搭建及热更新【推荐】
Sep 07 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
Apr 20 Javascript
react-native滑动吸顶效果的实现过程
Jun 03 Javascript
全面解析JavaScript Module模式
Jul 24 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 学习提高路线分享
2011/10/23 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
PHPCMS V9 添加二级导航的思路详解
2016/10/20 PHP
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
javascript中clipboardData对象用法详解
2015/05/13 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
2016/07/14 Javascript
AngularJs  E2E Testing 详解
2016/09/02 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
vue-cli3添加模式配置多环境变量的方法
2019/06/05 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
2020/08/11 Javascript
JavaScript实现网页计算器功能
2020/10/29 Javascript
[01:07]2015国际邀请赛 中国区预选赛精彩回顾
2015/06/15 DOTA
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
Windows下Python的Django框架环境部署及应用编写入门
2016/03/10 Python
Python 爬虫学习笔记之多线程爬虫
2016/09/21 Python
python如何获取服务器硬件信息
2017/05/11 Python
使用python爬虫获取黄金价格的核心代码
2018/06/13 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
python实现字符串加密 生成唯一固定长度字符串
2019/03/22 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
PyQt5笔记之弹出窗口大全
2019/06/20 Python
python爬虫 批量下载zabbix文档代码实例
2019/08/21 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
python利用faker库批量生成测试数据
2020/10/15 Python
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
Python基础之数据结构详解
2021/04/28 Python
Pytorch使用shuffle打乱数据的操作
2021/05/20 Python