首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

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

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

    5.5K10

    万象图片成本优化的瑞士军刀

    在今天星罗棋布的互联网环境下,每秒都有几亿张图片飞舞其间,其中万象支撑了海量的请求。主流的图片格式包括jpeg/gif/png/webp。每一种格式都有着不同的特点,存在着特性各异的优化空间。...,万象图中GIF可以在完全没有任何损失的前提下降低gif图片的存储量。...Google于2010年发布的WebP图片格式在相同质量下可以比jpeg图片节省约25%的文件大小,该图片格式也加入了万象图片处理武器库中。...8 Guetzli优化效果 接下来本文将简要描述Guetzli的原理以及万象在这方面所做的优化。...我们会继续努力提升Guetzli的性能,丰富万象的“图片处理军火库”,为用户提供持续增长的价值。

    2.4K10

    微信小程序基于万象实现图片 OCR

    随着小程序开放越来越多的类目,越来越多的企业将各种各样的需求开发成小程序,而基于图像识别的名片识别、身份证识别或者普通文字的 OCR 也越来越多的被应用于各种场景中,基于此,腾讯云微信小程序解决方案团队将腾讯万象的身份证识别和文字印刷体...首先需要到腾讯云的万象控制台开通万象功能,并且创建 Bucket。创建的 Bucket 最好为公有读私有写的权限。...查阅 Wafer Node.js SDK 的 API 文档,可以看到 SDK 提供了两个万象接口,分别是身份证识别接口和印刷体 OCR 接口。...我们可以提前使用 SDK 的图片上传功能,将图片上传到 COS 上,获取图片的地址(Bucket 必须为公有读私有写)之后,再调用身份证识别接口。...接口的第二个参数为万象的 Bucket,第三个参数为要识别的身份证的正面还是反面(0 代表带头像那面,1 代表国徽那面) const data = await uploader(ctx.req);

    11.9K135

    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

    4K20

    借助数据万象(原万象),让 hexo 也用上 webp

    最近CDN也不能满足我的胃口了,在尝试极限优化的路上,我又发现了一个更有想象力的方案,那就是借助腾讯云的数据万象(原万象)服务,对图片进行预处理或者实时处理,从而减小图片体积、提高打开速度。...通过数据万象处理为 webp 格式的图片链接为:https://img.blog.i1hao.com/IMG_0526.png?imageView2/format/webp。...[20190702224558.png] 数据万象添加水印后的图片链接为:https://img.blog.i1hao.com/IMG_0526.png?...我这里只是用了数据万象中“图片格式转换”这一个功能,根据API在URL中附加参数,还可以实现图片缩放、裁剪、缩略图、文字和图像水印、获取EXIF信息、盲水印等等,很多高级的功能。...但是 PicGo 唯一令我不太满意的就是,我在配置腾讯云COS为床时,遇到了点小问题,如果是新手可能会卡在这里一会。

    2.3K32

    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...网页被卷去的:document.body.scrollTop 网页被卷去的左:document.body.scrollLeft 三.滚动相关 scrollHeight: 获取对象的滚动高度。...相对容器的水平坐标 event.offsetY 相对容器的垂直坐标 六.width/clientWidth/offsetWidth以及height之间区别 width是指可见内容的 height是指可见内容的

    6.8K20
    领券