图像编码开发指导

场景介绍

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

接口说明

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();
    
  2. 设置编码输出流和编码参数。设置format为编码的图像格式,当前支持jpeg格式。设置quality为图像质量,范围从0-100,100为最佳质量。

    FileOutputStream outputStream = new FileOutputStream("/path/to/packed.file");ImagePacker.PackingOptions packingOptions = new ImagePacker.PackingOptions();packingOptions.format = "image/jpeg";packingOptions.quality = 90;boolean result = imagePacker.initializePacking(outputStream, packingOptions);
    
  3. 添加需要编码的PixelMap对象,进行编码操作。

    result = imagePacker.addImage(myPixelMap);long dataSize = imagePacker.finalizePacking();
    
  4. 编码输出完成后,可以进行后续处理,比如保存、传输等。

results matching ""

    No results matching ""