惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
C
Check Point Blog
Vercel News
Vercel News
Y
Y Combinator Blog
G
Google Developers Blog
P
Proofpoint News Feed
WordPress大学
WordPress大学
MongoDB | Blog
MongoDB | Blog
博客园 - 司徒正美
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
L
LangChain Blog
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
博客园_首页
B
Blog RSS Feed
The Cloudflare Blog
MyScale Blog
MyScale Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Security Blog
Microsoft Security Blog

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
HEIF:更高质量、更小体积,开启HarmonyOS图像新体验
华为开发者联盟 · 2025-09-08 · via 人人都是产品经理

一、图像发展大趋势及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图像开发指导,请访问HarmonyOS官网:

  1. 如何处理HEIF图片:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/heif-adapter-faq?ha_source=rrdscpjl&ha_sourceId=89000499
  2. ImageKit开发指南:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/image-kit?ha_source=rrdscpjl&ha_sourceId=89000499
  3. ImageKit API参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/image-api?ha_source=rrdscpjl&ha_sourceId=89000499