阅读(2380) (9)

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

2020-09-17 09:22:38 更新

场景介绍

图像属性解码就是获取图像中包含的属性信息,比如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);