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

JS获取图片原始宽高

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

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

    node.js获取图片文件真实类型

    遇到一个需求:假定有一个图片文件,真实类型为jpg,而有人偷懒把jpg直接复制一张,存为同名png文件,这样在as3读取文件时不会遇到问题,但手机c++在读取文件时却遇到问题了 - -!...现在就需要写一个程序,遍历所有文件夹下文件,查找文件格式“不正常”文件。...我们资源主要是gif、png、jpg,最开始,我到网上找到一篇文章:根据二进制流及文件头获取文件类型mime-type,然后读取文件二进制头信息,获取其真实文件类型,对与通过后缀名获得文件类型进行比较...'; showLog(msg); g_errorFileTypArr.push(msg); } 后来搜索node image相关信息时,找到这篇文章:node.js module ranking...; return { type: 'image', format: 'PNG', mimeType: 'image/png', width

    6K30

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

    实现效果 昨天泽泽分享了一篇有意思文章:纯CSS根据图片取色设置背景色,主要分享了一个就是div嵌套img时候,如何实现div颜色为img中一点颜色。...如下图所示,在PS中打开一张图片,如果将这张图片一直放大,具体到每个像素点,会发现图片单个像素点内颜色值都是唯一。....board-item下面的文字部分背景色都是上面图片一点颜色。...实现效果 有了具体思路了就是如何实现了,因为我这个页面是前后端渲染动态页面,改PHP代码的话有点麻烦,所以我就考虑从前端入手,使用JQuery来实现: 获取每一个友链链接.board-item; 然后通过显示迭代获取每一个友链中背景图...; 然后将下方文字背景图设置为获取背景图地址,同时,使用Math.random()产生一个随机数,这样的话就可以实现对图片中随机一点进行取色,且每次刷新都会产生不一样效果。

    3.8K30

    OpenCV中width和widthstep

    大家好,又见面了,我是你们朋友全栈君。 一是width属性;二是widthStep属性。 前者是表示图像每行像素数,后者指表示存储一行像素需要字节数。...这个图像一行需要4个字节,只使用前3个,最后一个空着。 也就是一个宽3高3图像imageData数据大小为4*3=12字节。...需要注意是,空着那个像素并不是无效,它仍然可以被操作,这就是导致错误根源。...其实原因就在于,在cvCreateImage时候,OpenCV为实现字节对齐,使得每行数据实际有16个字节(多出一个),在使用memcpy过程中,这些多出字节就把对应数据给“吃”了,因为这些数据在...cvShowImage时候并不会显示出来,这样,第二行就少一个字节,第三行少两个字节,……,所以整个图像就显示错误了!

    72010

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

    背景 在实际开发中,移动端页面遇到,采用正常写法,图片 src赋值写在 onload 事件监听 后面,依然会有拿不到 图片真实宽高场景,获得图片宽高都为0,真的是好坑啊。...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

    4K20

    解决在onCreate()过程中获取Viewwidth和Height为0方法

    那么在onCreate()获取viewwidth和height会得到0呢,原因是Androidoncreate和onMesure是不同步,我们在onCreate里面获取width和height,...针对上面的问题,网上提供了4种解决方案: 1,View.post() 此方法思路是在onCreate里面执行一个线程,知道获取View宽高属性。...一般来说OnGlobalLayoutListener就是可以让我们获得到viewwidth和height地方 但是注意这个方法在每次有些viewLayout发生变化时候被调用(比如某个View...所以在onWindowFocusChanged获取也是不为0。...4,重写ViewonLayout方法 我们知道Androidview绘制流程中是onMesure->onLayout()顺序,所以在onLayout获取也是真实数据。

    1.2K80
    领券