近期做一个驾考项目,由于每张图片加载的时候比例大小都不一样,在试题练习中加载图片时大部分图片会变形,导致图片展示效果非常差,所以我们可以获取图片的原始宽高,然后以等比例展示,效果会非常好。以下就是实现方法:

html:

<img style="max-height: 200px;max-width: 300px" src="demo.png"; onload="javascript:DrawImage(this,200,300);/>

js:

/*** 图片按宽高比例进行自动缩放* @param ImgObj*     缩放图片源对象* @param maxWidth*     允许缩放的最大宽度* @param maxHeight*     允许缩放的最大高度* @usage *     调用:<img src="图片" onload="javascript:DrawImage(this,300,200)">*/
function DrawImage(ImgObj, maxWidth, maxHeight){var image = new Image();//原图片原始地址(用于获取原图片的真实宽高,当<img>标签指定了宽、高时不受影响)image.src = ImgObj.src;// 用于设定图片的宽度和高度var tempWidth;var tempHeight;if(image.width > 0 && image.height > 0){//原图片宽高比例 大于 指定的宽高比例,这就说明了原图片的宽度必然 > 高度if (image.width/image.height >= maxWidth/maxHeight) {if (image.width > maxWidth) {tempWidth = maxWidth;// 按原图片的比例进行缩放tempHeight = (image.height * maxWidth) / image.width;} else {// 按原图片的大小进行缩放tempWidth = image.width;tempHeight = image.height;}} else {// 原图片的高度必然 > 宽度if (image.height > maxHeight) {  tempHeight = maxHeight;// 按原图片的比例进行缩放tempWidth = (image.width * maxHeight) / image.height;      } else {// 按原图片的大小进行缩放tempWidth = image.width;tempHeight = image.height;}}// 设置页面图片的宽和高ImgObj.height = tempHeight;ImgObj.width = tempWidth;// 提示图片的原来大小ImgObj.alt = image.width + "×" + image.height;}
}

js 获取图片原始宽高并等比例缩放相关推荐

  1. php根据图片地址获取图片原始高宽,Js获取图片原始宽高的实现代码

    如果我们页面看到的图片都是缩略图,那就需要做个图片点击放大效果,那么怎样获取图片的原始宽高呢?方法如下: //获取图片原始宽度 function getNaturalWidthAndHeight(im ...

  2. php 改变图片的宽高,php缩放图片(根据宽高的等比例缩放)示例

    php缩放图片(根据宽高的等比例缩放)示例 发布于 2014-12-07 08:53:31 | 149 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hyperte ...

  3. php改变图片宽高,php缩放图片(根据宽高的等比例缩放)实例介绍

    使用方法: 设定宽高,不等比例缩放 include('SimpleImage.php'); $image = new SimpleImage(); $image->load('picture.j ...

  4. php 获取图片的宽高,JS怎么获取图片当前宽高

    JS获取图片当前的宽高,我们可以使用JavaScript clientWidth和clientHeight属性来实现获取.clientWidth.clientHeight属性表示获取图像的当前宽度和高 ...

  5. 前端js获取图片大小 扩展名_前端 JS 获取 Image 图像 宽高 尺寸

    前端 JS 获取 Image 图像 宽高 尺寸 简介 项目中用到获取图片的原始尺寸,然后适配宽高:网上的大部分前端解决方案,都是new Image()后,在onload事件中获取image的尺寸. 在 ...

  6. RT/Metro商店应用如何如何获取图片的宽高

    RT/Metro商店应用如何如何获取图片的宽高 var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms ...

  7. 微信小程序获取图片的宽高,以及如何获取手机设备的宽高?

    如何在微信小程序中获取图片的宽高 ? 首先拿到图片的路径,相对/绝对路径都行,其次通过 wx.getImageInfo 获取到图片的宽高 wx.getImageInfo({src,success: f ...

  8. java 获取图片的宽高

    博客引用处(以下内容在原有博客基础上进行补充或更改,谢谢这些大牛的博客指导): 通过java获取图片的宽高 获取本地文件的图片尺寸: import java.awt.image.BufferedIma ...

  9. JS获取video真实宽高

    JS获取video真实宽高 JS代码 var video = document.querySelector('video'); video.addEventListener('canplay', fu ...

最新文章

  1. Java 14 可能带来什么新特性?
  2. 自学python哪本书比较好-自学Python一年,看了几十本书,我发现了这些捷径!
  3. XE5 Android 开发数据访问手机端 解决乱码的办法
  4. Dbeaver连接MySQL
  5. stm32之PVD可编程电压监测器(掉电保存数据)
  6. WiFi 802.11ax
  7. 力扣133. 克隆图
  8. cc1101初始化c语言程序,cc1101无线模块的程序及使用介绍
  9. PHP实现简单的计算器
  10. 获取多个复选框的value
  11. dlna和miracast可以共存吗_Airplay、Miracast、DLNA传输原理的底层搭建
  12. 机器学习实战(2)—— k-近邻算法
  13. iptables -F 后断开连接
  14. 固态硬盘(samsung SSD 850 pro)相关问题
  15. Eureka是干什么的?
  16. 73.【JavaWeb-01】
  17. java vad_(转载)静音检测VAD算法
  18. 在线机器学习Topic推荐-AMiner
  19. 【Word】如何折叠Word文档中的段落
  20. 免疫表位数据库(IEDB)数据下载操作实例

热门文章

  1. 服务端指南 数据存储篇 | 选择合适的数据存储方案
  2. AWS中EBS相关概念
  3. 大环境不好,多个行业大裁员,失业待业人员该何去何从?
  4. Linux系统通过Shell脚本实现一个全方面的系统性能分析系统
  5. 2020年计算机专项技能鉴定考试---四川省长宁县职业技术学校
  6. Excel 宏表函数 王佩丰第24课(1)--创建Excel工作表目录
  7. 数据分析的统计方法选择小结(变量之间的关联性分析)
  8. 【电脑讲解】去电脑维修店修电脑需要注意什么?
  9. Android/JAVA 针对时间戳转今天昨天前天,以及刚刚,几分钟的显示
  10. sqli-labs第五关sql注入流程