把 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春招技术岗备战指南:AI工程化与全真互联

腾讯2026春招技术岗备战指南:AI工程化与全真互联

1. 腾讯校招全景解读:从校园到职场的通关秘籍2026年腾讯春季校园招聘即将拉开帷幕,作为国内互联网行业的标杆企业,腾讯校招向来以竞争激烈、流程严谨著称。根据近三年数据统计,腾讯技术岗录取率维持在1.5%-2.8%之间,产…

2026/8/23 1:20:34
BUMPMAPPING WITH GLSL

BUMPMAPPING WITH GLSL

BUMPMAPPING WITH GLSL 原文链接 https://fabiensanglard.net/bumpMapping/index.php 当 我 开始 学习 凹凸贴图 和 视差映射 时, 我发现 很多 教程 涉及 一个 简单的矩形, 但没有什么 接近 现实生活 的 用途: …

2026/8/23 1:20:34
《可伸缩服务架构:框架与中间件》读书笔记

《可伸缩服务架构:框架与中间件》读书笔记

设计不重复高性能分布式发号器 分布式系统对发号器的基本需求: 全局唯一粗略有序可反解可制造高性能高可用可伸缩 发布模式可分为: 嵌入发布模式:只适用于Java客户端,提供一个本地Jar包,Jar包是嵌入式的原生服务&#…

2026/8/23 1:20:34
《深入实践SpringBoot》读书笔记

《深入实践SpringBoot》读书笔记

福利置顶: 链接:https://pan.baidu.com/s/1Z6W2e40vjOJmMQS3G3Y7Jg 密码:atv2 随书代码:https://github.com/chenfromsz 个人评价:书籍一般般,勉强6分(满分10),值得快速浏…

2026/8/23 1:20:34
多模态智能体在计算病理学中的应用:构建证据可追溯的协同诊断系统

多模态智能体在计算病理学中的应用:构建证据可追溯的协同诊断系统

1. 项目缘起:当病理诊断遇上多模态智能体最近和几位在顶尖医院病理科工作的朋友聊天,他们不约而同地提到了同一个痛点:每天面对海量的病理切片,从HE染色到免疫组化,再到分子病理的FISH、PCR结果,信息量巨大…

2026/8/23 1:20:34
SDRangel 新手指南:如何三步接入设备、解调你的第一路无线电信号

SDRangel 新手指南:如何三步接入设备、解调你的第一路无线电信号

SDRangel 新手指南:如何三步接入设备、解调你的第一路无线电信号 【免费下载链接】sdrangel SDR Rx/Tx software for Airspy, Airspy HF, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay and FunCube 项目地址: https://gitcode.com/gh_mirrors/sd/sdrang…

2026/8/23 1:15:34