.heic 或 .heif图片转换为png或bmp格式模块免费分享
在使用iPhone拍照时,你可能注意到照片的后缀是 .heic 或者 .heif,而不是我们常见的 .jpg 或 .png。这种格式叫 HEIC(High Efficiency Image Container),是一种更高效的图像压缩格式。但问题来了:很多电脑和软件不支持直接打开它。
那么,HEIC到底是什么?为什么iPhone要用它?又该怎么打开、查看、转换呢?
今天我们就来手把手教你怎么应对HEIC文件!
一、什么是HEIC格式?
HEIC 是一种由苹果公司从 iPhone 7 开始引入的新型图片格式,全称是 High Efficiency Image File Format(高效图像文件格式),基于 HEVC/H.265 视频编码技术。
二、iPhone为什么会默认用HEIC?
苹果为了优化存储空间和提升画质,从 iOS 11 开始,将 iPhone 的默认照片格式改成了 HEIC。这意味着:
如果你的 iPhone 设置为“高效”模式,拍照后就是 HEIC 格式;
如果设置为“兼容”模式,则会保存为 JPG 格式。
如何查看/修改iPhone的照片格式?
打开「设置」 > 「相机」 > 「格式」;看是否勾选了“高效”或“兼容JPEG”。
三、HEIC怎么查看?几种实用方法推荐
方法一:在 iPhone 上直接打开(最简单)
默认情况下,iPhone 的“照片”App 支持 HEIC;发送给别人用微信、QQ、iMessage都没问题,对方也能正常查看;
在 Safari 浏览器中也可以直接打开 HEIC 图片。
方法二:在 Mac 上打开(macOS High Sierra 及以上)
苹果从 macOS High Sierra 开始原生支持 HEIC;使用“预览”、“照片”App 或浏览器都可以直接打开;
若你用的是旧版本 macOS,请升级系统或使用在线工具。
方法三:在 Windows 上打开
Windows 本身不自带 HEIC 解码器,你需要手动安装:
打开 Microsoft Store(微软商店);搜索并安装 HEIF Image Extensions 和 HEVC Video Extensions – Manufacturer License(这两个插件);安装完成后,就可以用“照片”App 或资源管理器直接打开 HEIC 文件了。
四、HEIC怎么用易语言读取并显示?
1、项目介绍
libheif 是一个强大的开源库,用于解码和编码符合 ISO/IEC 23008-12:2017 标准的 HEIF 和 AVIF(AV1 图像文件格式)文件。这两种新格式利用 HEVC(H.265)或 AV1 图像编码技术,提供了目前可能的最佳压缩比例。
2、项目技术分析
libheif 使用 libde265 进行 HEIF 图像解码,并采用 x265 进行编码。对于 AVIF,它可以配合 AOM、dav1d、svt-av1 或 rav1e 等多种 AV1 编解码器进行处理。该库支持 HEIC、AVIF、JPEG-in-HEIF、JPEG2000 及无损格式等多种图像类型,还具备透明度通道、深度图、缩略图等高级功能。
3、项目及技术应用场景
libheif 的广泛应用场景包括:
图片存储:HEIF 和 AVIF 文件格式在提供高清晰度的同时,文件大小更小,适合在网络上传输和存储。
移动应用开发:为智能手机和平板电脑应用提供高效的图片加载和显示。
图像处理工具:支持对图像进行裁剪、翻转、旋转等操作,以及读取和保存元数据。
Web 开发:优化网页上的图像加载速度,提高用户体验。
4、项目特点
兼容性广:支持多种图像格式,包括 HEIF、AVIF、JPEG 和 JPEG2000,且能够自动识别和处理 HEIF 和 AVIF。
高效编码:采用先进的 HEVC 和 AV1 编码技术,实现较高的压缩率。
插件接口:通过插件接口,可以添加自定义编解码器,拓展性强。
API 友好:提供 C 语言和 C++ 头文件的 API,易于集成到各种编程环境中,同时还有一份实验性的 Go API。
跨平台:可在 Linux、macOS 和 Windows 上构建并运行,满足不同环境需求。
读写 HEIF 文件只需简单几步,例如使用易语言:
变量名 | 类 型 | 静态 | 数组 | 备 注 | ctx | 整数型 | | | handle | 整数型 | | | p | 字节集 | | | q | 字节集 | | | width | 整数型 | | | height | 整数型 | | |
ctx = heifinit () handle = gethandle (取变量数据地址 (输入图像 ), 取字节集长度 (输入图像 ), ctx ) width = getw (handle ) height = geth (handle ) q = 取空白字节集 (width × height × 4 ) heic2rgba (handle, width, height, 取变量数据地址 (q )) destroy (ctx, handle ) rgba2png (取变量数据地址 (q ), width, height ) 返回 (q )
一条命令调用子程序即可:
p = 读入文件 (“C:\demo.heic”)
_启动窗口.底图 = heif转bmp (p) ' p是示例图像是3024×4032像素
完整示例代码放网盘里了,用得着的自取。
链接:https://pan.quark.cn/s/717fcbbf4324
|