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

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的宽和高 需要注意的是在给img的src赋值时,这是一个异步过程,会存在获取img的宽度时值为0(图片还未加载完成),可以在给img赋值之前加上onload事件 var img = document.createElement

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

    JS获取事件对象,获取事件的源对象(Firefox,IE)

    做笔记,以防自己忘记~~ JS获取事件event,不同浏览器有不同的做法。 例如IE下,在js函数中,通过window.event就可以获取,不必在函数中添加什么参数。...还是使用JS库比较好,不然就有下边的麻烦。...感觉这个挺好,可以捕获当前事件作用的对象,如event.srcElement.tagName可以捕获活动标记名称。注意获取的标记都以大写表示,如"TD","TR","A"等。...在 ie中处理事件直接使用window.event对象即可,但在firefox中,是没有 window.event对象的,函数需要使用事件的时候,需要在事件发生时把事件作为参数传递给函数,不象在ie...中,事件对象是全局的,随处都可以访 问.下面这个getEvent()函数可以兼容firefox和ie,只需要在访问事件对象的函数的开始调用getEvent()即可,不用再把事件作为 参数传递.以下代码已经实验通过

    12.9K50

    JS遍历对象,获取key:value

    1、使用Object.keys()遍历 返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性) var obj={"1":"a","2":"b"} Object.keys(...,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环也枚举原型链中的属性)。...3、使用Object.getOwnPropertyNames(obj)遍历 返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性) var obj={"1":"a","2":...对象声明: 1.var obj = {}//字面量,建议这种方式(方便初始化赋值) 2.var obj = new Object(); 对象赋值: 1.obj.name = "zhangsan" 2....obj["name"] = "zhangsan" 访问对象属性值: 1.obj.name 2.obj["name"] ==》底层转化为这种,所以建议使用 删除对象中的属性: delete

    31.9K11

    JS History对象:获取浏览历史

    JavaScripthistory 对象中包含了用户在浏览器中访问过的历史记录,其中包括通过浏览器浏览过的页面,以及当前页面中通过加载的页面。...我们可以通过 window 对象中的 history 属性来获取 history 对象,由于 window 对象是一个全局对象,因此在使用window.history时可以省略 window 前缀,例如...history 对象中的属性下表中列举了 JavaScript history 对象中常用的属性及其描述:属性说明length返回浏览历史的数目,包含当前已经加载的页面。...); document.write(history.state + ""); 运行结果如下:5autonullhistory 对象中的方法下表中列举了...JavaScript history 对象中常用的方法及其描述:方法说明back()参照当前页面,返回历史记录中的上一条记录(即返回上一页),您也可以通过点击浏览器工具栏中的←按钮来实现同样的效果。

    29210

    JS Screen对象:获取屏幕信息

    JavaScriptscreen 对象中包含了有关计算机屏幕的信息,例如分辨率、宽度、高度等,我们可以通过 window 对象的 screen 属性来获取它。...由于 window 对象是一个全局对象,因此在使用window.screen时可以省略 window 前缀,例如window.screen.width可以简写为screen.width。...screen 对象中的属性下表中列举了 JavaScript screen 对象中常用的属性及其描述:属性说明availTop返回屏幕上方边界的第一个像素点(大多数情况下返回 0)availLeft返回屏幕左边边界的第一个像素点...screen 对象的 width 和 height 属性来获取用户计算机屏幕的宽度和高度(单位为像素),示例代码如下:对象的 colorDepth 属性来获取用户计算机屏幕的颜色深度,示例代码如下:提示:颜色深度表示屏幕能够产生多少中颜色,例如,颜色深度为 8 的屏幕可以产生 256 种颜色(即 28)

    23610

    图片转换js (img对象,file对象,base64,canvas对象),以及图片压缩方式(转载)

    大多时候我们需要将一个File对象压缩之后再变为File对象传入到远程图片服务器;有时候我们也需要将一个base64字符串压缩之后再变为base64字符串传入到远程数据库;有时候后它还有可能是一块canvas...画布,或者是一个Image对象,或者直接就是一个图片的url地址,我们需要将它们压缩上传到远程; 二、解决办法 如上图所示,七个方法,基本覆盖了JS中大部分文件类型的转换与压缩,其中: 1、 urltoImage...(url,fn) 会通过一个url加载所需要的图片对象,其中 url 参数传入图片的 url , fn 为回调方法,包含一个Image对象的参数,代码如下: function urltoImage (url...Blob 类型对象;其中 canvas 参数传入一个 Canvas 对象; quality 参数传入一个0-1的 number 类型,表示图片压缩质量; fn 为回调方法,包含一个 Blob 对象的参数...字符串,其中 canvas 参数传入一个 Canvas 对象; quality 参数传入一个0-1的 number 类型,表示图片压缩质量;代码如下: methods.canvasResizetoDataURL

    5.8K41

    JS Navigator对象:获取浏览器信息

    JavaScript navigator 对象中存储了与浏览器相关的信息,例如名称、版本等,我们可以通过 window 对象的 navigator 属性(即 window.navigator)来引用 navigator...对象,并通过它来获取浏览器的基本信息。...由于 window 对象是一个全局对象,因此在使用window.navigator时可以省略 window 前缀,例如window.navigator.appName可以简写为navigator.appName...navigator 对象中的属性下表中列举了 JavaScript navigator 对象中常用的属性及其描述:属性描述appCodeName返回当前浏览器的内部名称(开发代号)appName返回浏览器的官方名称...JavaScript navigator 对象中提供的方法及其描述:方法描述javaEnabled()返回浏览器是否支持运行 Java Applet 小程序,支持则返回 true,不支持则返回 falsesendBeacon

    21110

    腾讯云对象存储cos获取图片像素信息

    腾讯云对象存储cos获取图片像素信息 1 上传时增加参数记录图片像素信息 2 展示时获取图片像素信息 1 上传时增加参数记录图片像素信息 项目中是通过流类型上传文件到腾讯云cos的,上传图片信息默认是没有像素信息...,想获取图片像素信息的话首先想到的是通过增加上传自定义参数信息定义图片像素参数上传,文档地址 https://cloud.tencent.com/document/product/436/65935#....E4.B8.8A.E4.BC.A0.E6.B5.81.E7.B1.BB.E5.9E.8B2 根据文档可以通过usermetadata参数增加自定义参数信息, 代码补充对应参数之后上传图片文件报错:com.qcloud.cos.exception.CosClientException...此路行不通暂时 2 展示时获取图片像素信息 询问腾讯云cos技术知识得知有一篇api文档可以获取到图片的像素信息 https://cloud.tencent.com/document/product/460.../6927 ,这样的话就在获取腾讯云文件列表信息的判断是否是图片资源进行获取图片像素信息的操作 此方案行得通,且页面加载也基本不受影响,故采用次方案.

    2.2K10

    JS获取图片中随机一点颜色

    如下图所示,在PS中打开一张图片,如果将这张图片一直放大,具体到每个像素点,会发现图片单个像素点内的颜色值都是唯一的。...实现效果 有了具体的思路了就是如何实现了,因为我这个页面是前后端渲染的动态页面,改PHP代码的话有点麻烦,所以我就考虑从前端入手,使用JQuery来实现: 获取每一个友链链接.board-item; 然后通过显示迭代获取每一个友链中的背景图...; 然后将下方文字的背景图设置为获取的背景图地址,同时,使用Math.random()产生一个随机数,这样的话就可以实现对图片中随机一点进行取色,且每次刷新都会产生不一样的效果。...JQuery方法.each() 简单来说,显示迭代与隐式迭代最简单的区别就是看给每一个对象设置的值是否相同,不同值的时候(或不同处理) 使用显示迭代,为每个匹配的元素执行不同函数,例如: $('li')...text-align:center; } span { color:red; } js

    6.7K30
    领券