发布时间:2026/8/23 0:22:05
把 HEIC 和 AVIF 装进你的项目:libheif 编解码库快速上手 把 HEIC 和 AVIF 装进你的项目libheif 编解码库快速上手【免费下载链接】libheiflibheif is an HEIF and AVIF file format decoder and encoder.项目地址: https://gitcode.com/gh_mirrors/li/libheif一张 HEIC 照片在 Mac 上正常发到 Windows 就发灰多半是对方缺 HEIF/AVIF 的编解码支持。libheif 是一个把 HEIC、AVIF 读写统一成同一套 C 接口的开源编解码库装上它你的应用就能读这些新格式。 libheif 安装步骤与最小解码示例三种平台各一行安装命令macOSbrew install cmake make pkg-config x265 libde265 libjpeg libtoolWindowsvcpkg install libheif源码编译Linux 等git clone https://gitcode.com/gh_mirrors/li/libheif进入build目录后执行cmake --presetrelease .. make--preset需要 CMake ≥ 3.21装好之后先看一段最短的 HEIC/AVIF 解码代码。注意heif_context_read_from_file对任意格式都成立换文件不用改代码heif_context* ctx heif_context_alloc(); heif_context_read_from_file(ctx, input_filename, nullptr); // 取主图像句柄 heif_image_handle* handle; heif_context_get_primary_image_handle(ctx, handle); // 解码为 24 位交错 RGB heif_image* img; heif_decode_image(handle, img, heif_colorspace_RGB, heif_chroma_interleaved_RGB, nullptr); int stride; const uint8_t* data heif_image_get_plane_readonly(img, heif_channel_interleaved, stride); heif_image_release(img); heif_image_handle_release(handle); heif_context_free(ctx);编译安装成功后data里就是解码出的像素也就是下面这张仓库自带的 AVIF 示例图核心能力为什么选它压缩效率HEIC 用 HEVCH.265、AVIF 用 AV1 编码同画质下体积大约只有 JPEG 的一半。你拿它存照片、传照片存储和带宽各省一半。一套接口通吃多格式解码器对 HEIF、AVIF 及其他压缩格式用同一套 C 接口你的解码代码不用改就能读任何格式。编码时把格式参数从heif_compression_HEVC换成heif_compression_AV1就切到 AVIF 输出。HDR、透明度与多图像它能按内嵌颜色配置做正确的 HDR 颜色转换也能读透明通道、深度图、缩略图和辅助图像一个文件里可以装多张图。你做多图层或高动态范围图像时不用再自己拼格式。图块与流式超大图可以逐图块解码内存里不必一次性放下整张还能通过>格式解码器编码器HEIClibde265, ffmpegx265, kvazaarAVIFAOM, dav1dAOM, rav1e, svt-av1VVCvvdecvvenc, uvg266AVCopenh264x264JPEGlibjpeg(-turbo)libjpeg(-turbo)JPEG2000OpenJPEGOpenJPEGHTJ2KOpenJPEGOpenJPH无损内置内置从 v1.14.0 起每个编解码器既可静态编进库也能编译成动态插件按需加载用 CMake 的WITH_{codec}_PLUGIN选项逐个决定。运行时插件从环境变量LIBHEIF_PLUGIN_PATH冒号分隔Windows 用分号指向的目录列表读取。 多语言接入路径C、Go、Python、Rust、.NET、Swift、JavaFX 都有现成绑定能直接调 C 库的语言如 Swift、C#开箱即用C 封装是库的一部分头文件-only保持二进制兼容。想跑在浏览器里可以用 emscripten 把 libheif 编译成 JavaScriptmkdir buildjs cd buildjs USE_WASM0 ../build-emscripten.sh ..需要 WASM 输出就把USE_WASM改成1纯 JS 路径则走浏览器自带的 webcodecs 接口。 进阶用法图块、EXIF 与自带工具超大图分块落地真遇到放不下内存的图逐图块解码、再逐块编码落盘即可编码时一个图块一个图块追加不必一次性持有整张。EXIF 读取按类型名查一次元数据块 ID再取大小、取数据三步拿到完整 EXIF 字节XMP 同理。自带命令行工具示例程序位于examples/目录。heif-dec把 HEIF/AVIF 里的所有图导出成 JPEG 或 PNG也就是常说的 HEIC 转 JPEGheif-enc把 JPEG 等转成 HEIF/AVIFheif-info是极简解码器把文件结构打印到控制台加-d还能 dump 完整的 box 结构。Gnome 缩略图heif-thumbnailer可作 Gnome 桌面的 HEIF/AVIF 缩略图生成器配套配置文件见gnome/目录。生态与依赖已有不少软件直接基于 libheifGIMP、Krita、ImageMagick、GraphicsMagickdarktable、digiKam、libvips、libGDkImageFormats、Kodi HEIF 解码插件、bimg、GDAL、OpenImageIO、XnView许可证libheif 遵循 GNU LGPLLesser General Public License分发示例程序采用 MIT 许可证细节见仓库根目录的COPYING。如果你要写能读 HEIC/AVIF 的应用、做 HEIC 转 JPEG 之类的批处理或给浏览器加 AVIF 支持libheif 都能直接上手它把多种格式的读写收敛到一套接口依赖还能按需裁剪。【免费下载链接】libheiflibheif is an HEIF and AVIF file format decoder and encoder.项目地址: https://gitcode.com/gh_mirrors/li/libheif创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/8/23 0:22:05

CSP-J初赛集训:26课时系统攻克计算机基础与算法核心考点

1. 从零开始的CSP-J初赛备战:为什么集训是最高效的路径?如果你正在为孩子或者为自己规划信息学竞赛的入门之路,那么“CSP-J/S”这个名字一定不陌生。作为国内最具权威性和影响力的计算机科学普及活动之一,它的第一轮认证&#xff…

2026/8/23 0:22:05

AI编程助手安全风险:如何防范恶意软件包与供应链攻击

最近在技术社区看到一个真实案例:一位工程师在开发过程中,使用 AI Agent 辅助解决一个依赖包安装问题,AI 竟然建议安装一个包含恶意软件的包。工程师差点就执行了这条指令,细思极恐。这起事件暴露了 AI 辅助编程工具在带来巨大便利…

2026/8/23 1:32:11

量纲分析:从物理公式和谐性到工程建模的降维工具

1. 从“量纲”说起:为什么物理公式看起来总是那么“和谐”?你有没有想过,为什么牛顿第二定律是 F ma,而不是 F ma 或者 F m a?为什么万有引力公式是 F G * (m₁m₂)/r,那个平方反比的关系是怎么来的&a…

2026/8/23 1:32:11

从2017年数学建模代码看熵权法与TOPSIS的建模本质与工程实践

1. 项目缘起与核心价值:为什么今天还要看2017年的建模代码?最近在整理硬盘,翻到了一个老文件夹,名字就叫“2017年数学建模A组练习代码”。点开一看,里面是几个MATLAB的.m文件,注释写得还算工整,…

2026/8/23 1:32:11

AI模型自主重规划(BCP)原理与实践:从动态决策到工程落地

在实际的AI模型部署和推理过程中,我们常常面临一个核心矛盾:模型的一次性规划决策,在面对动态变化的环境或复杂多步任务时,往往显得僵化且容易出错。例如,一个机器人路径规划模型在遇到突发障碍物时,如果只…

2026/8/23 1:32:11

SpringBoot+Vue构建企业级实习生管理系统实战

1. 项目背景与核心价值作为一名长期混迹于Java Web开发领域的老兵,我见过太多实习生管理系统要么功能简陋得像张Excel表格,要么复杂得需要专门培训才能使用。这个基于SpringBootVue的实习生管理系统,恰好解决了这个痛点——它既具备企业级应用…

2026/8/23 1:32:11

C++可变参数模板:从递归展开到折叠表达式的工程实践

1. 项目概述:从“黑魔法”到工程利器在C的模板元编程世界里,可变参数模板(Variadic Templates)一度被戏称为“黑魔法”。我第一次接触它,是在为一个日志库设计一个能接受任意数量、任意类型参数的格式化输出函数时。当…

2026/8/23 1:27:10

识别代码库技术债务阈值:从指数级增长到三层防御策略

你有没有过这样的体验:接手一个项目,打开代码库,想加个新功能,却发现每改一行代码都像在雷区里跳舞?明明只是修个按钮样式,却要小心翼翼地绕过十几个看似无关的文件,生怕触发某个深藏不露的Bug。…

2026/8/23 0:02:04

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/23 0:02:04

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/23 0:02:04

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/23 0:02:04

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/23 0:02:04

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/23 0:02:04

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/21 15:40:01

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/21 15:40:01

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/22 1:39:53

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…