鸿蒙OS 图像属性解码开发指导
场景介绍
图像属性解码就是获取图像中包含的属性信息,比如EXIF属性。
接口说明
图像属性解码的功能主要由 ImageSource 和 ExifUtils 提供。
接口名 | 描述 |
---|---|
getThumbnailInfo() | 获取嵌入图像文件的缩略图的基本信息。 |
getImageThumbnailBytes() | 获取嵌入图像文件缩略图的原始数据。 |
getThumbnailFormat() | 获取嵌入图像文件缩略图的格式。 |
接口名 | 描述 |
---|---|
getLatLong(ImageSource imageSource) | 获取嵌入图像文件的经纬度信息。 |
getAltitude(ImageSource imageSource, double defaultValue) | 获取嵌入图像文件的海拔信息。 |
开发步骤
- 创建图像数据源 ImageSource 对象,可以通过 SourceOptions 指定数据源的格式信息,此格式信息仅为给解码器的提示,正确提供能帮助提高解码效率,如果不设置或设置不正确,会自动检测正确的图像格式。
ImageSource.SourceOptions srcOpts = new ImageSource.SourceOptions();
srcOpts.formatHint = "image/jpeg";
String pathName = "/path/to/image.jpg";
ImageSource imageSource = ImageSource.create(pathName, srcOpts);
- 获取缩略图信息。
int format = imageSource.getThumbnailFormat();
byte[] thumbnailBytes = imageSource.getImageThumbnailBytes();
// 将缩略图解码为 PixelMap 对象
ImageSource.DecodingOptions decodingOpts = new ImageSource.DecodingOptions();
PixelMap thumbnailPixelmap = imageSource.createThumbnailPixelmap(decodingOpts, false);