• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

鸿蒙OS 图像编码开发指导

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

场景介绍

图像编码就是将 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();

  1. 设置编码输出流和编码参数。设置 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);

  1. 添加需要编码的 PixelMap 对象,进行编码操作。

   result = imagePacker.addImage(pixelMap);
   long dataSize = imagePacker.finalizePacking();

  1. 编码输出完成后,可以进行后续处理,比如保存、传输等。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
鸿蒙OS 位图操作开发指导发布时间:2022-02-02
下一篇:
鸿蒙OS 图像解码开发指导发布时间:2022-02-02
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap