js 获取图像缩放后的实际宽高,位置等信息

作者:分界线 时间:2024-05-22 10:41:09 

项目中遇到图片实际显示尺寸的判定问题,图片可能被缩放过,所以实际显示的宽高无法通过常见的各种width,height拿到(都是得到图像的自然宽度或者字面宽度,并非实际显示结果)

在网上百度了一大圈也没有找到,今天早上偶然找到2个很方便的方法:

object.getClientRects();object.getBoundingClientRect();

可以轻易获得当前元素的绝对位置(不含scrollLeft和scrollTop,需要用的话单独加上去)和显示出来的实际宽高

getClientRects 和 getBoundingClientRect 的区别

getClientRects 返回一个TextRectangle集合,就是TextRectangleList对象。

getBoundingClientRect 返回 一个TextRectangle对象,即使DOM里没有文本也能返回TextRectangle对象.

浏览器差异:

除了safari,firefox2.0外所有浏览器都支持getClientRects和getBoundingClientRect,

firefox 3.1给TextRectangle增加了 width 和 height。

ie 和非ie浏览器在使用getClientRects还是有些差别的,ie获取TextRectangleList的范围很大。而非ie获取的范围比较小, 只有display:inline的对象才能获取到TextRectangleList,例如em i span 等标签。

通过测试,至少Chrome 2+\Safari 4\Firefox3.5\0pera 9.63+已经支持getBoundingClientRect方法。

出于浏览器兼容的考虑,现在用得最多的是getBoundingClientRect,经常用来获取一个element元素的viewport坐标。

MDN关于getBoundingClientRect的详细介绍:https://developer.mozilla.org/zh-CN/docs/Web/API/Element/getBoundingClientRect

来源:http://www.qdfuns.com/notes/18169/169e7d15d4dd9ad90fe7c739142b2e2c.html

标签:图像,缩放
0
投稿

猜你喜欢

  • python查看模块,对象的函数方法

    2021-07-11 19:45:10
  • javascript常用的方法整理

    2023-08-23 10:57:13
  • 打印出python 当前全局变量和入口参数的所有属性

    2022-09-01 07:06:51
  • 浅谈Python类的单继承相关知识

    2023-07-31 15:18:53
  • ASP简单实现数字和字母验证码

    2008-10-23 13:52:00
  • php中session使用示例

    2024-04-30 08:46:58
  • javascript数组的使用

    2024-06-07 15:25:37
  • PyTorch中torch.tensor与torch.Tensor的区别详解

    2023-03-07 10:48:15
  • pycharm通过ssh连接远程服务器教程

    2022-10-09 19:44:31
  • Mysql数据库实现多字段过滤的方法

    2024-01-16 11:35:48
  • django admin后台添加导出excel功能示例代码

    2023-10-19 10:43:48
  • python决策树之CART分类回归树详解

    2021-06-22 19:23:16
  • 对Pytorch神经网络初始化kaiming分布详解

    2022-08-27 01:39:50
  • django将数组传递给前台模板的方法

    2023-09-26 09:06:40
  • 支持python的分布式计算框架Ray详解

    2023-06-20 11:34:30
  • python中 logging的使用详解

    2023-01-11 21:31:14
  • JavaScript实现的伸展收缩型菜单代码

    2024-04-16 09:22:33
  • Python Flask RESTful使用demo演示

    2023-08-04 07:02:23
  • 将python代码和注释分离的方法

    2022-04-06 12:04:50
  • TensorFlow基本的常量、变量和运算操作详解

    2023-05-12 00:50:31
  • asp之家 网络编程 m.aspxhome.com