HarmonyOS-鸿蒙app开发 —基于java图像编码开发指导

HarmonyOS-鸿蒙app开发 —基于java图像编码开发指导

场景介绍

图像编码就是将PixelMap图像编码成不同存档格式图片,用于后续其他处理,比如保存、传输等。当前仅支持JPEG格式。

接口说明

ImagePacker主要用于图像编码。

表1 图像编码类ImagePacker的主要接口

接口名

描述

create()

创建图像打包器实例。

initializePacking(byte[] data, PackingOptions opts)

初始化打包任务,将字节数组设置为打包后输出目的。

initializePacking(byte[] data, int offset, PackingOptions opts)

初始化打包任务,将带偏移量的字节数组设置为打包后输出目的。

initializePacking(OutputStream outputStream, PackingOptions opts)

初始化打包任务,将输出流设置为打包后输出目的。

addImage(PixelMap pixelmap)

将PixelMap对象添加到图像打包器中。

addImage(ImageSource source)

将图像数据源ImageSource中图像添加到图像打包器中。

addImage(ImageSource source, int index)

将图像数据源ImageSource中指定图像添加到图像打包器中。

finalizePacking()

完成图像打包任务。

release()

释放对象关联的本地资源。

开发步骤

  1. 创建图像编码ImagePacker对象。
 
ImagePacker imagePacker = ImagePacker.create();

设置编码输出流和编码参数。设置format为编码的图像格式,当前支持jpeg格式。设置quality为图像质量,范围从0-100,100为最佳质量。

// 传入本地图片路径,图片格式需要与packingOptions.format相对应 FileOutputStream outputStream = null; try { outputStream = new FileOutputStream("/path/to/packed.file"); } catch (FileNotFoundException e) { e.printStackTrace(); } ImagePacker.PackingOptions packingOptions = new ImagePacker.PackingOptions(); packingOptions.format = "image/jpeg"; packingOptions.quality = 90; boolean result = imagePacker.initializePacking(outputStream, packingOptions); 添加需要编码的PixelMap对象,进行编码操作。 result = imagePacker.addImage(pixelMap); long dataSize = imagePacker.finalizePacking(); 编码输出完成后,可以进行后续处理,比如保存、传输等。 释放创建的ImagePacker。 imagePacker.release();
0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x