鸿蒙OS开发文档 鸿蒙OS 图像属性解码开发指导

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 1

场景介绍

图像属性解码就是获取图像中包含的属性信息,比如EXIF属性。

接口说明

图像属性解码的功能主要由 ImageSource 和 ExifUtils 提供。

接口名描述
getThumbnailInfo()获取嵌入图像文件的缩略图的基本信息。
getImageThumbnailBytes()获取嵌入图像文件缩略图的原始数据。
getThumbnailFormat()获取嵌入图像文件缩略图的格式。
接口名描述
getLatLong(ImageSource imageSource)获取嵌入图像文件的经纬度信息。
getAltitude(ImageSource imageSource, double defaultValue)获取嵌入图像文件的海拔信息。

开发步骤

  1. 创建图像数据源 ImageSource 对象,可以通过 SourceOptions 指定数据源的格式信息,此格式信息仅为给解码器的提示,正确提供能帮助提高解码效率,如果不设置或设置不正确,会自动检测正确的图像格式。
ImageSource.SourceOptions srcOpts = new ImageSource.SourceOptions();
srcOpts.formatHint = "image/jpeg";
String pathName = "/path/to/image.jpg";
ImageSource imageSource = ImageSource.create(pathName, srcOpts);
  1. 获取缩略图信息。
int format = imageSource.getThumbnailFormat();
byte[] thumbnailBytes = imageSource.getImageThumbnailBytes();
// 将缩略图解码为 PixelMap 对象
ImageSource.DecodingOptions decodingOpts = new ImageSource.DecodingOptions();
PixelMap thumbnailPixelmap = imageSource.createThumbnailPixelmap(decodingOpts, false);