HEIF:更高质量、更小体积,开启 HarmonyOS 图像新体验

【HEIF研究笔记一】HEIF简介和文件结构分析 HEIF的简介 阅读详情

图像发展大趋势及 HarmonyOS 图像格式支持策略

自数字图像诞生以来,图像格式经历了多轮更新迭代。从早期的BMP、TIFF等无压缩或轻压缩格式,到后来广泛应用的JPEG、PNG、GIF等主流格式,图像编码技术不断演进,其核心目标始终是——在有限的存储空间与带宽条件下,实现更高质量、更高效率的图像呈现。

在 PC 时代,JPEG 和 PNG 分别作为有损压缩与无损压缩的代表,几乎覆盖了绝大多数图像使用场景。但随着数字图像设备的普及和互联网的飞速发展,传统图像格式的局限性日益凸显,催生出新一代图像格式的需求。

现代图像数据呈现出两大显著趋势:

  • 图像质量持续提高:
    • 分辨率稳步提升。
    • 色深逐渐增加。
    • 色域持续拓展。
    • 动态范围逐步升级。

  • 图像数量爆炸性增长:
    • 社交媒体、即时通讯、在线购物等应用推动个人日均拍摄图像数大幅提升。
    • 图像成为 AI、视觉识别等领域的重要数据源。

在当今时代,人人皆为“影像内容生产者”,海量的照片与视频对图像的存储、传输和展示提出了更高的要求。HarmonyOS从系统层面持续强化图像处理能力,优先支持主流图像格式,并对实际应用中具备显著优势的格式着重进行优化。

目前,HarmonyOS已支持GIF、JPEG、PNG、WebP、HEIF、BMP等主流图像格式的解码与显示,支持将图像编码为JPEG、PNG、HEIF、WebP、GIF等格式。对TIFF格式和RAW格式预览图的解码支持即将上线。更多格式的支持也正在规划推进中。

二、HEIF的优势及 HarmonyOS 对 HEIF 的优化

HEIF(High Efficiency Image File Format)作为新一代高效图像格式,凭借优异的压缩性能和丰富的编码特性,为数字影像带来了全新的体验。此外,自发布以来的近十年实践中,HEIF已充分证明其稳定性与成熟度,逐步取代传统格式成为未来图像技术的重要选择。

HEIF基于HEVC(H.265)视频压缩标准,具备显著的技术优势:

  • 更高压缩效率:在相同画质下,相比于JPEG、WEBP等传统格式,可节省50%以上的存储空间。
  • 支持HDR和高色深:天然支持10bit色深、HDR显示,更适配现代高性能显示设备
  • 可扩展性强:支持存储增益图Gain Map、深度图Depth Map等辅助图像,适用于HDR、景深重建等高级图像处理场景。

自HarmonyOS 5.0起,对HEIF图像的支持已实现全面升级。系统底层架构进行了优化,结合软硬协同的解码方案,大幅提升了解码效率与运行性能。HarmonyOS 5.x相比于HarmonyOS 4.x,HEIF解码性能提升60%以上,为用户带来更快速、更流畅、更高质量的图像体验。同时,系统也支持HEIF硬件编码,能够快速得到HEIF图片。

三、图像处理开发示例

HarmonyOS的Image组件和Image Kit提供了通用的图像处理API,无需针对HEIF作特殊处理,编程方式与使用JPEG、PNG等图源一致。下面针对开发者基于系统能力进行图像处理开发时,可能采取的两种方式进行介绍。

方式1:直接使用ArkUI提供的Image组件进行显示

方式简介:

Image组件提供了通用的图像显示能力,解码、渲染等流程均由系统完成,支持显示BMP、SVG、GIF、PNG、JPEG、HEIF等多种图像格式,开发者只需要将图像资源传递给Image组件即可实现显示效果。

适用场景:

如果开发者仅期望展示图像,不需要额外加工处理,推荐使用这种方式实现。

核心代码:

// 创建Image组件,直接传入图片文件路径,用于显示
build() {
  Column() {
    Image('images/view.heic');
  }
}

方式2:使用Image Kit解码得到图像像素数据,进一步处理后,再使用Image组件渲染显示。

方式简介:

Image Kit提供了高效的图像解码能力,同样支持显示PNG、JPEG、BMP、SVG、GIF、HEIF等多种图像格式,还支持指定图像尺寸、解码区域、动态范围等参数选项,能够满足更多场景下的定制化需求。

适用场景:

如果开发者不希望直接展示原图,而是需要对图像进行一定的后处理,推荐使用这种方式实现。

核心代码:

// 解码得到图像像素数据
imageSource = image.createImageSource('images/view.heic');
let decodingOptions : image.DecodingOptions = {
  editable: true,
  desiredPixelFormat: image.PixelMapFormat.RGBA_8888,
};
pixelMap = imageSource.createPixelMapSync(decodingOptions);
// 对图像进行后处理:调用PixelMap的方法,或自行实现对图像像素数据的处理
// 这里以将图像顺时针旋转90度为例
pixelMap. rotate(90);
// 创建Image组件,传入处理后的PixelMap,用于显示
build() {
  Column() {
    Image(pixelMap);
  }
}

四、HEIF图像转码方法

考虑到在部分场景下,应用可能仍然希望使用JPEG图像,这里也给出将HEIF图像转码成JPEG图像的方法。

基于HarmonyOS Image Kit的图像解码和图像编码能力,只需几行代码即可将HEIF图像转码成JPEG图像。

核心代码:

// 创建ImageSource
let imageSource = image.createImageSource('images/view.heic');
// 创建ImagePacker
const imagePacker = image.createImagePacker();
// HEIF到JPEG的转码,指定编码选项,将图片编码为JPEG
// quality推荐设置为95,保证较好的图片质量的同时,使编码后的图片文件体积更小
// 如果希望保留图片的EXIF信息,必须将needsPackProperties参数指定为true
let packOptions: image.PackingOption = {
  format: “image/jpeg” ,
  quality: 95,
  needsPackProperties: true,
};
await imagePacker.packToFile(imageSource, file.fd, packOptions);
// 使用完成后,释放编码器和图像源
imagePacker.release();
imageSource.release();
图片格式-HEIF编解码器安装与配置指南 本文详细介绍了在CentOS 7系统下安装HEIF编解码器的完整步骤。HEIF作为一种基于HEVC的高效图像格式,相比JPEG能提供更好的压缩率和图像质量。文章首先阐述了HEIF的技术原理及其支持的编码标准(包括H.264、H.265、AVIF和H.266),然后逐步指导用户安装核心依赖库(如libde265、libx265、libheif等)和编译工具。特别强调了安装顺序的重要性,并提供了WebP、AVIF等可选编解码器的配置方法。最后通过命令验证安装效果,并展示了基础格式转换操作,为需要处理HEIF格式 阅读详情

相关推荐

HEIF与JPEG格式的图像质量比较及编程实现

HEIF是一种现代化的图像格式,它采用了高效的压缩算法,能够在更小的文件大小下保持较高的图像质量。与JPEG相比,HEIF提供更好的图像细节保留、更低的失真和更高的压缩比。通过对比和分析不同格式的图像,我们可以选择最适合特定应用需求的图像格式。这意味着我们可以在相同存储空间下存储更多的图像,或者在相同图像数量的情况下减少存储空间的占用。运行上述代码,我们可以将HEIF和JPEG图像加载到程序中并显示出来,以便直观地比较它们的图像质量。接下来,我们将加载一个HEIF图像和一个JPEG图像,并比较它们的质量。

CodeSpark的博客 3202

深入浅出HEIF

当前的编码格式有:HEVC 和H.264/MPEG-4 AVC 两种,并且未来可能有新的编码格式加入。在苹果的实现中,单个图片采用 .heic 文件扩展名,它默认使用的都是 HEVC 的编码格式。当然,苹果官方未来会对 H.264/MPEG-4 AVC 编码的 .avci 文件进行支持,以及 .heif 文件。.heic 只是一个HEIF文件格式的一种扩展名,言外之意是:HEIF不仅有 .heic 这种扩展名,还有其它的,比如说:.heif 和 .avci,它们都是属于HEIF文件格式。

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 2260

[Ubuntu 20.04] HEIF图像格式与libheif库及其工具的使用

HEIF 使用先进的编码技术来实现更高效的图像压缩。HEIC 是指使用 HEIF 格式存储的图像文件,它是 HEIF 的一种具体应用形式。区别: HEIF 是一种图像文件格式,HEVC 是视频编码标准,而 HEIC 是使用 HEIF 格式存储的图像文件。HEVC 用于对图像数据进行编码和解码,而 HEIF 提供了更多的功能和特性,使得 HEIC 图像文件具有更好的压缩率和图像质量。HEIF 借助 HEVC 编码技术实现图像的高效压缩,而 HEIC 则是使用 HEIF 格式存储的图像文件。

Systemcall名屋 2179

HEIF or JPEG

HEIF全称High Efficiency Image Format,中文可译为“高效文件格式”,由MPEG于2015年推出。严格上说,HEIF并不是标准的图像格式,而更像是一种容器格式,因为它能够组合任意数量的图像,并且这些图像还可以使用不同的格式编码。HEIF的开发目标是在效率方面超越JPEG,它最终也实现了这一目标。以相同甚至较高一点的质量存储图像时,HEIF格式要比JPEG格式节约50%到60%的空间。

一个bug是bug,多个bug能work 5185

一篇讲透:豆包、元宝、DeepSeek、Kimi、WorkBuddy,职场里到底怎么分工

这篇文章深入分析了当前主流AI工具(WorkBuddy、豆包、腾讯元宝、DeepSeek、Kimi)的特点和使用场景,帮助读者根据不同工作需求选择合适的AI助手。核心观点包括: AI工具各有所长:豆包适合快速创作初稿,元宝擅长信息检索整理,DeepSeek强于逻辑分析,Kimi专精文本处理,WorkBuddy则更适合任务推进和成果交付。 使用前需明确需求:是要创意发散、信息整理,还是任务执行?不同阶段应选用不同工具组合。 提供了6个具体职场场景的解决方案,包括文章创作、课程设计、会议纪要等,并给出详细的操作

weixin_39284145的博客 1万+

三相电路小白必看:正弦量向量表示法保姆级教程(附欧拉公式推导)

本文为电气工程初学者详细解析了三相电路中正弦量的向量表示法,即相量法。通过几何直观和欧拉公式推导,阐明如何将时变正弦量转化为静态复平面向量进行运算,并利用平行四边形法则简化同频正弦量的加减计算。文章结合Python代码进行可视化验证,帮助读者牢固掌握这一分析交流电路的核心工具。

linux6sysadmin的博客 993

heif heic 的区别_什么是HEIF(或HEIC)图像格式?

heif heic 的区别The High Efficiency Image Format (HEIF) is used by Apple’s iPhone and is also coming to Google’s Android P. It’s a modern replacement for JPEG, and often has the .HEIC file extension. 苹果的...

cum88284的博客 1万+

目前最强的价格行为技术分析AI!大A也能用!还免费!

有球友推荐了一个历史最强的价格行为技术分析AI工具,使用下来确实很惊艳,解决了 很多AI工具黑盒过程,难以回溯的问题,他的决策过程可解释,提供决策树、诊断结果、原始响应、调试信息和未来走势预期。用户能够看到模型为什么选择“做多、做空或不下单”。会检查置信度、入场条件、盈亏比、结构失效和冷却期。最大的优点不是“预测一定准确”,而是把主观的价格行为分析整理成了可重复、可解释、可校验、可持续跟踪的工程化流程。本文记录本项目在 Windows 上的实际部署与启动方法。

木头大左的博客 75

HEIF:更高质量、更小体积,开启HarmonyOS图像新体验

目前,HarmonyOS已支持GIF、JPEG、PNG、WebP、HEIF、BMP等主流图像格式的解码与显示,支持将图像编码为JPEG、PNG、HEIF、WebP、GIF等格式。在当今时代,人人皆为“影像内容生产者”,海量的照片与视频对图像的存储、传输和展示提出了更高的要求。Image Kit提供了高效的图像解码能力,同样支持显示PNG、JPEG、BMP、SVG、GIF、HEIF等多种图像格式,还支持指定图像尺寸、解码区域、动态范围等参数选项,能够满足更多场景下的定制化需求。

【HarmonyOS开发者社区】官方小助手 988

卷积神经网络中的自注意力机制(Self-Attention Mechanism)

卷积神经网络中的机制表现为操作,其实现过程与Seq2Seq模型的自注意力机制类似。标准的卷积层是一种局部滤波操作,其输出特征上的任意位置是由对应输入特征的一个邻域构造的,只能捕捉局部特征之间的关系。而自注意力机制通过计算任意两个位置之间的关系直接捕捉远程依赖,而不用局限于相邻点,相当于构造了一个的卷积核,从而可以捕捉更多信息。在卷积网络的自注意力机制中,首先构造输入特征x的键特征fx, 查询特征gx和值特征hx;

AI天才研究院 1500

测绘程序设计——试题一:出租车轨迹数据计算

仅展示试题1的原文,如需了解其余内容,请自行购买图书李老师著作主页-http://ybli.users.sgg.whu.edu.cn/book/

chengzilhc的博客 891

HEIF、HEIC、JPG 和 PNG是什么?

HEIF容器可支持其他编码方式(如AV1),但HEIC是当前主流实现。:HEIC 是 HEIF 的一种具体实现,专门使用 HEVC 编码。需要存储动态照片(Live Photos)或深度信息(人像模式):HEIC特指使用HEVC(H.265)编码的HEIF文件。苹果设备的默认照片格式(节省存储空间)专业设计中的无损编辑(如PSD导出)专业摄影中的高效存储(如连拍序列)对文件大小敏感的场景(如网页加载)图表、文字截图(避免压缩伪影)需要透明背景的图标、Logo。通用照片存储(兼容性优先)

ThinPikachu的博客 9831

Vue3 - Vite运行打包时Uncaught ReferenceError: process is not defined(解决vue3+vite报错process is not defined)

vue3,vite,vue3+vite报错,process,UncaughtReferenceError:processisnotdefined,浏览器控制台报错processisnotdefined解决方法,vue3如何解决报错,vite报错怎么办,前端打包UncaughtReferenceError:processisnotdefined,npmrunbuild打包报错,vite打包时出现错误,vue3打包运行找不到process,热更新会报错UncaughtRefer

🏆 前端领域优质创作者 7737

时代新宠儿——HEIF图像格式:节省50%空间

HEIF全称High Efficiency Image File Format(高效图像文件格式),是一种高效的图片封装格式,文件名通常为.heif或者.heic后缀。HEIF能够在保持...

云存储小天使的博客 5915

如何对EMB电子机械制动器的热衰退问题进行优化

摘要 电子机械制动器(EMB)在新能源汽车和自动驾驶中具有重要应用价值,但其在高强度工况下会出现热衰退现象。本文分析了EMB热衰退的五大机理:摩擦副热效应、电机热衰退、减速机构热失效、温度对控制策略干扰以及结构设计导致的热积累。针对这些问题,提出了从材料、结构、控制三个维度的优化措施:升级耐高温材料、改进散热设计、优化控制算法等。通过"热生成抑制-热传导优化-热失效补偿"的系统方案,可有效改善EMB的热衰退问题,为智能汽车提供更可靠的制动保障。

m0_59012156的博客 342

【DRAM存储器五十一】LPDDR5介绍--DFE与Pre-Emphasis

简述LPDDR5的DFE和预加重应用设置

highman110的博客 706

Android | HEIF图片格式显示问题

HEIF/HEIC格式图片显示问题

qq_37196748的博客 6256

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

编解码基础 -- 图像编码之HEIF

HEIF(High Efficiency Image Format,高效图像格式)是一种基于 HEVC(High Efficiency Video Coding,高效视频编码,亦称 H.265)的视频编码技术的图像文件格式。HEIF 由 MPEG(Moving Picture Experts Group,动态图像专家组)开发,其目标是提供更高效的图像压缩性能,在不牺牲图像质量的情况下显著减少文件大小。

sz66cm 学习随笔 3136

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

探索现代图片格式:从GIF到HEIF,优势与适用场景一览

最近在掘金看到很多动图头像,但都失真了,好奇就研究了下前端各种图片格式。

Cipher_Y的博客 1172

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

HEIF & HEVC 你知道多少?

HEIF & HEVC 研究 可能是目前最全面的中文介绍

weixin_34233421的博客 1856

HEIF图像编码标准-python读取HEIF图像

opencv 读取heif

qq_29007291的博客 3093

新图片格式比JPEG强50倍 但它还是干不掉30年前的JPEG

前阵子有个开发者推出了一种新的图像格式,试图挑战现在图片格式界的王者. PNG 跟. JPEG 。

m0_46163918的博客 970

下一代图像压缩格式科普---HEIF 与AVIF格式

背景 上一篇文档主要讲了一下ImageX支持的图片压缩格式,看起来还是非常不错压缩率比较高,但是有些同学会问这些格式和编码方式有什么不同,所以,本篇文档主要讲一下图片格式和图片编码相关的科普类说明; 图片格式对比 ...

七脉神剑科技博客 9270
上一篇: 泛互联网行业 A/B 测试全解析:产品优化的创新之道
下一篇: Redis缓存一致性
普通网友
博客等级 码龄1年 57粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值