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

JS获取图片原始宽高

最近在给博客的相册模块做优化,需要知道图片的原始大小,我以前的做法是把图片的真实宽高分别放在data-width和data-height中,效果是达到了,但是总觉得扩展性很低,当不知道图片的大小时,还要一张一张图片的去查看图片信息手动输入图片大小...,很繁琐 获取图片大小: 1.使用innerWidth,innerHeight 使用HTMLImageElement.innerWidth 是可以拿到图片的宽度 但是需要注意的是这里拿到的宽度是图像在CSS...像素中渲染的宽度 也就是说如果图片原始大小1200,使用css或者width属性设置为600,那么这里拿到的宽度为600,显然用innerWidth获取图片原始尺寸是不靠谱的 2.使用document.createElement...document.createElement("img") img.src = "1.jpg" var width = img.width 动态创建一个imgElement,通过给src赋值,最终来获取img的宽和高..."1.jpg" 3.使用naturalWidth(推荐) 使用HTMLImageElement.naturalWidth拿到图像在CSS像素中固有的宽度,如果可用的话; 否则, 返回0 这样就可以拿到图片的原始大小

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

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

    背景 在实际开发中,移动端页面遇到的,采用正常写法,图片 src赋值写在 onload 事件监听 后面,依然会有拿不到 图片真实宽高的场景,获得的图片宽高都为0,真的是好坑啊。...img = new Image() // 加载完成执行 img.onload = function(){ console.log(img.width,img.height) } // 改变图片的...为了避免图片加载失败或不存在等长场景导致定时器一直执行,可以加一个兜底,比如10秒钟之后自动清除定时器。...var img = new Image() // 改变图片的src img.src = img_url // 定时执行获取宽高 var check = function(){ // 只要任何一方大于...0 // 表示已经服务器已经返回宽高 if (img.width>0 || img.height>0) { clearInterval(set); } } var

    5K20

    javascript 快速获取图片实际大小的宽高

    javascript 快速获取图片实际大小的宽高 简陋的获取图片实际宽高的方式 // 图片地址 var img_url = '13643608813441.jpg' // 创建对象 var img =...宽高都是0的这个结果很正常,因为图片的相关数据都没有被加载前它的宽高默认就是0,我们需要它加载完所有的相关数据再获取宽和高。...onload加载所有的相关数据后,取宽高 // 图片地址 var img_url = '13643608813441.jpg' // 创建对象 var img = new Image() // 改变图片的...从缓存里读取图片的宽高不用说,非常方便快捷,今天我们要解决的是没有缓存而又快速的相比onload更快的方式去获取图片的宽高。...这是一张2560 * 1600大小的图片,各浏览器执行结果都能看到通过快速获取图片大小的方法几乎都在200毫秒以内,而onload至少五秒以上,这差别之大说明快速获取图片宽高非常实用。

    6.7K10

    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...scrollWidth: 获取对象的滚动宽度 document.documentElement.scrollTop 垂直方向滚动的值 四.位置精确定位 scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离...scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置 offsetTop

    9.1K20

    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呢,这个我一直没弄明白,而且至今也没弄明白为什么会是这个值,也许将成为永久的未解之谜了。

    39300

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

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

    6K30

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

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

    24400

    图片不变形,宽高不超出父元素的情况下旋转图片

    做这样的效果的难点在于,计算没旋转前图片的宽,高和旋转后的宽高。 下面来看具体的实现。 实现步骤 让图片在父元素中水平居中,垂直居中显示。我用的是 flex。...我们知道图片在旋转 (2n * 90)度在父元素的宽高是一样的,((2n + 1) * 90) 度在父元素的宽高是一样的。...所以我们只需要两组宽高。 图片的宽和高要满足 不超出父元素 图片不能变形 在上面的条件下,图片的宽高只有有限的值可以选。...在 旋转 (2n * 90) 度的情况下 图片的宽为父元素的宽,高度自适应 图片的高为父元素的高,宽度自适应 在 旋转((2n + 1) * 90) 度的情况下 图片的宽为父元素的高,高度自适应 图片的高为父元素的宽...旋转后,需要从新设置图片宽高。

    2.8K30
    领券