【夜半写点啥】Hbuilder+exif.js获取照片exif信息

本文介绍如何在H5应用中实现本地图片的选择,并通过exif.js库获取图片的EXIF信息(包括创建时间和地点等)。具体步骤包括引入exif.js库、使用plus.gallery.pick选择图片、图片压缩及加载完成后获取EXIF信息。
部署运行你感兴趣的模型镜像

【概】我在H5端需要这么一个功能::本地选择图片并获取exif信息(主要是创建时间、和地点等),翻了半天Hbuilder文档,没发现这个api,于是目光转焦到强大滴exif.js上。

step1、引入文件

<script type="text/javascript" src="js/exif.js" ></script>

step2、本地选择图片文件(只要求选择文件,不拍照)。

mui.plusReady(function(){
	******
					plus.gallery.pick(function(path){
						console.log(path)
						plus.io.resolveLocalFileSystemURL(path, function(entry){
	                                                 waiting("正在压缩图片 \n ...... ");
							src= entry.toLocalURL();
							compress(src);//把获取图片信息放在了这一步上
							saved=false;//隐藏按钮
							$(".icon-del").hide();
							$(".icon-upload").hide();
						});
				    });
                 ******
})

step3、图片压缩与获取exif信息

这儿容易入坑,获取图片信息需要在图片加载完成后(论坛友人提示),不然是无法获取到图片信息滴,代码如下:

function compress(src){
	    src=src+'';
	    spstr = src.split("/");
		var bname=spstr[spstr.length-1];//图片名称
		plus.zip.compressImage({
			src:src,
			overwrite: true,
			dst:"_doc/img/"+bname,
			quality:15
		},
		function(success) {
			closewaiting("500");//关闭等待
			var s=eval(success);//解析json数据
			var imgsrc=s.target;
			var img=document.createElement("img");//建立图片对象
			img.src=src;
			img.onload=function(){
				EXIF.getData(img,function(){//图片加载完成再获取信息
					var time=EXIF.getTag(img,'DataTimgOriginal');//直接获取图片的时间,DataTimeOriginal是exif滴信息标识,就看你需要啥
				})
			}
			
		},function(error){
			//console.log(error.message)
			//console.log(error.code);
	})
	
}
http://code.ciaoca.com/javascript/exif-js/

如果对你有帮助的话请给个赞,没有那就putdown咯!

if it s works and helpful,just give me five

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智商不够_熬夜来凑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值