首页
学习
活动
专区
圈层
工具
发布

JS获取图片原始宽高

最近在给博客的相册模块做优化,需要知道图片的原始大小,我以前的做法是把图片的真实宽高分别放在data-width和data-height中,效果是达到了,但是总觉得扩展性很低,当不知道图片的大小时,还要一张一张图片的去查看图片信息手动输入图片大小...像素中渲染的宽度 也就是说如果图片原始大小1200,使用css或者width属性设置为600,那么这里拿到的宽度为600,显然用innerWidth获取图片原始尺寸是不靠谱的 2.使用document.createElement...(“img”) var img = document.createElement("img") img.src = "1.jpg" var width = img.width 动态创建一个imgElement...,通过给src赋值,最终来获取img的宽和高 需要注意的是在给img的src赋值时,这是一个异步过程,会存在获取img的宽度时值为0(图片还未加载完成),可以在给img赋值之前加上onload事件 var...img = document.createElement("img") img.onload = function () { var width = img.width } img.src =

8.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    js获取各种距离和宽高

    浏览器滚动掉的Y距离 鼠标event事件 属性 说明 offsetX 以当前的元素的左上角为原点, 距离元素顶部的距离 offsetY 以当前的元素的左上角为原点, 距离元素左侧的距离 clientX..., 距离页面顶部的距离, 随页面滚动而改变 pageY 以整个页面的左上角为原点, 距离页面左侧的距离, 随页面滚动而改变 screenX 以计算机显示屏屏幕左上角为原点, 距离屏幕顶部的距离 screenY...以计算机显示屏屏幕左上角为原点, 距离屏幕左侧的距离 元素的宽高及各种距离 宽高 属性 说明 clientHeight/clientWidth 包括元素的可视部分的高度/宽度包括width/height...'px', 为字符串类型) 距离 属性 说明 offsetTop/Left 元素距离最近的带有定位(fixed/relative/absolute)的父元素的顶部/左侧的距离 scrollTop/Left...此属性可以获取或者设置对象的最顶部到对象在当前窗口显示的范围内的顶边/左侧的距离,也就是元素滚动条被向下/向右拉动的距离。

    2.5K10

    js获取屏幕以及元素宽高的方法

    一.window相关 网页正文部分上:window.screenTop 网页正文部分左:window.screenLeft 屏幕分辨率的高:window.screen.height 屏幕分辨率的宽:...document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽...) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth 网页正文全文高:document.body.scrollHeight...scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置 offsetTop...相对容器的水平坐标 event.offsetY 相对容器的垂直坐标 六.width/clientWidth/offsetWidth以及height之间区别 width是指可见内容的宽 height是指可见内容的高

    9.1K20

    Android艺术开发探索学习 之 测量view的宽高 以及 动态设置View的位置

    Android艺术开发探索学习 之  测量view的宽高 以及 动态设置View的位置 progress动态更新位置实战 转载请标明出处: http://blog.csdn.net/lxk...之前做项目有碰到过这样的需求。 首先获取View的宽度和高度。刚开始我以为很简单,直接在onCreate()方法下直接获取view的宽度, 但是我发现 w 一直为0. ...然后最近看android艺术开发探索的时候又看到了这个问题的解决方法。遂记录下来。 获取View的宽高的方法有很多,这里给出三种解决方法。...super.onWindowFocusChanged(hasFocus); if (hasFocus) { int w = progesssValue.getMeasuredWidth(); } } 然后就是动态改变...case MotionEvent.ACTION_UP: break; } return true; } }); /** * 设置进度显示在对应的位置

    1.1K20

    iOS 计算NSString宽高与计算NSAttributedString的宽高

    开篇 项目有一个客服反馈功能,用到的是聊天列表的形式,这就免不了计算字符串的宽高,由于要给字符串加间距,没办法,只能用 NSAttributedString 所以要计算NSAttributedString...的长宽 计算NSString宽高 计算NSString宽高很简单,代码如下: //返回字符串所占用的尺寸. - (CGSize)sizeWithFont:(UIFont *)font maxSize:(...宽高 先查看系统API: ?...(包含大小信息) text:将要计算的�字符串 needWidth:将要计算的最大宽度 lineSpacing:行间距大小 当然关于 NSAttributedString 的设置还有很多,不一一列举了...NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [string length])]; return attributedString; } 设置属性文字

    6K30

    setGeometry设置后控件宽高和预期设置不一样

    一直以来以为setGeometry可以设置控件宽高,某一天发现一个代码 # -*- coding: utf-8 -*- import sys from PyQt5 import QtCore, QtWidgets...self.update() def mouseMoveEvent(self, e): print('鼠标移动:', e.pos()) print('控件宽高...778x578宽高都是少了22像素,这个让我百思不得其解,反复调试都没发现问题,难道哪里把尺寸改过,后来发现一直没什么问题,但是这个不可控的控件尺寸很明显会影响开发,比如我就要800x600怎么办,后来在代码加了一句就可以了...self.setFixedSize(800,600) 然后控件尺寸就变成800x600但是为什么setGeometry却不行了,从字面理解setGeometry就是设置控件位置和显示尺寸,但是不是设置真实控件尺寸...因此需要用设置控件尺寸函数去设置才应该合理,但是为什么不设置固定尺寸,为啥是778x578呢,这个我一直没弄明白,而且至今也没弄明白为什么会是这个值,也许将成为永久的未解之谜了。

    42000

    使用C#代码设置 Excel 行高和列宽

    在创建电子表格时,可以通过调整行高和列宽来优化工作表的布局和显示效果。...在 Microsoft Excel 中,用户可以通过拖动行或列边界调整大小,也可以在“列宽”或“行高”设置框中输入具体数值来完成调整。...对于开发者而言,在自动化处理 Excel 文件时,了解如何通过代码设置行高和列宽同样十分重要。本文将介绍如何使用 C# 在 .NET 环境中设置 Excel 工作表的行高和列宽。...); workbook.Dispose(); } }}总结在 Excel 文件处理中,行高和列宽的设置是优化工作表布局和提升可读性的重要操作。...本文介绍了如何使用 C# 在 .NET 环境中设置 Excel 工作表的行高和列宽,并演示了通过 SetRowHeight() 和 SetColumnWidth() 方法调整单元格区域显示效果的实现方式

    26300

    js 获取屏幕各种宽高的方法(浏览器兼容)

    屏幕的有效宽高: window.screen.availHeight window.screen.availWidth 网页可见区域宽:document.body.clientWidth  网页可见区域高...:document.body.clientHeight  网页可见区域宽:document.body.offsetWidth (包括边线的宽)  网页可见区域高:document.body.offsetHeight...(包括边线的宽)  网页正文全文宽:document.body.scrollWidth  网页正文全文高:document.body.scrollHeight  网页被卷去的高:document.body.scrollTop...  网页被卷去的左:document.body.scrollLeft  网页正文部分上:window.screenTop  网页正文部分左:window.screenLeft  屏幕分辨率的高:window.screen.height...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离  scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离  scrollWidth:获取对象的滚动宽度

    4.7K100

    js图片监听onload事件,依然有获取不到宽高的场景

    背景 在实际开发中,移动端页面遇到的,采用正常写法,图片 src赋值写在 onload 事件监听 后面,依然会有拿不到 图片真实宽高的场景,获得的图片宽高都为0,真的是好坑啊。...var img_url = '.jpg' // 创建对象 var img = new Image() // 加载完成执行 img.onload = function(){ console.log...(img.width,img.height) } // 改变图片的src img.src = img_url 解决 参考了该文章 关键时刻,还是得靠定时器轮询啊!!!...var img = new Image() // 改变图片的src img.src = img_url // 定时执行获取宽高 var check = function(){ // 只要任何一方大于...0 // 表示已经服务器已经返回宽高 if (img.width>0 || img.height>0) { clearInterval(set); } } var

    5K20

    WPF 最小的代码使用 DynamicRenderer 书写 输入层设置宽高视觉树

    需要支持他的输入层和显示层 输入层 对于 StylusPlugIn 需要加入到 UIElement 的 StylusPlugIns 才能收到触摸的消息 这部分的原理比较复杂,请看 WPF 高速书写 StylusPlugIn...,因为现在还没有将 DynamicRenderer 的显示层添加到视觉树 如果此时可以看到 DynamicRenderer 的 Down 和 Move 函数,可以看到这两个函数几乎没有触发,原因在于附加的元素没被声明自己的宽度和高度...,也就是附加的 MeexikelelHaiwurbe 是不可见的 从 WPF 高速书写 StylusPlugIn 原理 可以知道,在 StylusPlugIn 要收到触摸的消息,需要附加的元素可以收到消息才可以...所以下面需要设置 MeexikelelHaiwurbe 的宽高 设置宽高 在 UIElement 有一个方法是 HitTestCore 设置命中测试,通过这个方法可以判断一个点是否点到了元素上,于是重新这个方法...,无论什么点都返回这个元素,于是这个元素就可以做到命中测试,宽度和高度都是最大 当然有层级的关系,不会点到任何的地方都命中这个元素,关于层级请看 WPF 的原理 WPF 源代码 从零开始写一个 UI 框架

    1.5K10

    iOS | 动态获取字符串宽高并添加约束

    在 iOS 实际编码过程中,我们可能会需要通过代码动态的向某个 View 视图中添加 UILabel, 此时,我们必须手动的为这些 UILabel 对象添加约束条件,否则,这些 UILabel 将会因为没有约束条件而无法显示...只有获取到 UILabel 中填充的字符串所占据的宽高信息信息之后,才能为其添加具体的约束,所以—— 通过代码获取字符串所占视图宽度: /* * 获取字符串边框 */ func getStrBoundRect...constrainedSize, options: option, attributes:attr , context: nil) return rect } 当我们获取到字符串所占视图区域 Rect 之后,就可以动态添加约束了...equalTo: self.spendCouponView.bottomAnchor, constant: 0).isActive=true return rightBound } 上述两个函数的调用示例如下

    1.2K10

    前端水印svg生成方案&svg动态宽高计算

    动态计算svg的宽高 本次项目中的水印文字是由后端提供的,水印文字是由用户自定义。...再上面的代码中,生成的svg宽高是写死的300*200px,如果文字太长,这个宽度不够容纳就会有遮挡效果,所以自己用粗略估算的方式,动态计算了svg的宽高。...// svg的宽高是根据文本长度结合选择角度,根据直角三角形的勾股定理做计算 // rotate 的旋转中心点偏移XY,根据svg宽高取一半。...head> 我是页面内容,哈哈哈 我是有指定宽高的...其中有多行文字的svg展示代码。我是因为要设置水印样式查看了该文章。 简略回顾了下三角函数。主要是要看下Js中的Math.sin()里面填入的角度要怎么设置。

    1.5K10
    领券