java 获取图片的媒体属性,以大疆无人机照片为例
2022/1/17 9:33:39
本文主要是介绍java 获取图片的媒体属性,以大疆无人机照片为例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
<!--依赖的工具类--> <dependency> <groupId>com.drewnoakes</groupId> <artifactId>metadata-extractor</artifactId> <version>2.6.2</version> </dependency>
以下仅使用大疆的图片作为参考,每种图片自定义的媒体信息有所不同,debug即可获得实际key值;
/** * @author zy * @Description InputStream 通过读取流的方式获取文件的媒体信息 * @time 2022/1/17 9:23 * @Param [inputStream] * @return java.lang.String[] */ public static String[] getImageParam(InputStream inputStream) { try { String[] param = new String[5]; Metadata metadata = JpegMetadataReader.readMetadata(inputStream); for (Directory directory : metadata.getDirectories()) { //获取图片的Exif拍摄时间 if (directory instanceof ExifIFD0Directory) { ExifIFD0Directory exifIFD0Directory = (ExifIFD0Directory) directory; exifIFD0Directory.getName(); param[4] = DateUtil.format.format(exifIFD0Directory.getDate(306)); } if (directory instanceof XmpDirectory) { XmpDirectory xmpDirectory = (XmpDirectory) directory; Map<String, String> xmpProperties = xmpDirectory.getXmpProperties(); String degree = xmpProperties.get("drone-dji:GimbalYawDegree"); String lat = xmpProperties.get("drone-dji:GpsLatitude"); String lon = xmpProperties.get("drone-dji:GpsLongtitude"); String relativeAltitude = xmpProperties.get("drone-dji:RelativeAltitude"); param[0] = degree; param[1] = lat; param[2] = lon; param[3] = relativeAltitude; } } return param; } catch (Exception e) { return null; } }
该方法可以读取以下几种文件形式;JpegMetadataReader.readMetadata
这篇关于java 获取图片的媒体属性,以大疆无人机照片为例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南