Qt支持heic图片显示


原文链接: Qt支持heic图片显示

一、背景

小孩子两岁了,最近在着手给娃做生活照纪念相册,然后就是某宝上各种聊,了解到的相册种类也是各异,价格更是良莠不齐,小几十到小几百都有,一时间还是难以下手。刚过完年那一阵偶然一次看到姐姐家给小朋友做过各式各样的相册,经过咨询发现有一家质量还不错,然后就是直接咨询商家,当时问的时候还有些小贵,主要是比我姐买的时候贵。。。。。。哈哈哈,然后就是耐心的等待啦,期间也是把小孩子一岁的照片准备好。最近这不是马上618啦,价格果然降了,而且比我姐当时定做还便宜,这还犹豫啥,果断下手。

经过跟商家简单沟通,嗯。。。没问题直接下单,然而发送照片时遇到了问题,平时娃娃的照片都是我媳妇进行拍摄的,她使用的是苹果手机,咱一个常年使用android的屌丝然后就发现苹果手机拍出来的照片格式是heic的,这里不懂的同学可点击链接进行深入了解。跟商家协商几次后,他们是只支持接收jpg格式的图片,哎,路走窄了。

想起来之前给朋友做过一个图片格式转换工具,那索性也把heic格式带上吧,说干咱就干,花了几个小时网上搜集了一部分资料,最终解决,先给大伙上效果图,嗯还不错,演示效果是使用debug模式进行,因此慢一些,不过heic格式的照片显示实际上确实比其他常见格式要慢。

image

二、Heic图片显示

Qt程序要显示heic的图片有两种方式,一种就是插件模式,这种方式最方便,也是使用起来最巴适的,对使用者来说是无感的;另一种方式就是自行加载heic的图片,转为image数据之后再转为pixmap进行显示。

不管是那种方式进行显示heic照片,首先要做的都是安装libheif这个库,嗯。。。怎么搞!当然是百度啦,老前辈都给咱铺好路了,咱们只需要照着做就行。这里主要参考了QT+libheif生产的QT插件基于QImageIOPlugin里面包含工程和所需要的库_HeifHandler资源-CSDN文库C++ + QT (不使用QT插件模式)的heic图片显示。_qt heic-CSDN博客两篇文章,内容大差不差,如果你访问github速度不是很很稳定,下载资源的过程可能出现卡顿,或者下载不下来的情况,那么可以参考[vapkg]解决vcpkg下载缓慢的问题_vcpkg下载慢-CSDN博客这篇文章,主要就是把命令行需要下载的文件,咱们手动给他下载下来然后放到指定目录。通过上述三篇文章基本上就可以安装好libheif这个库,这里我就不细说每一步的演示截图,只列出关键步骤和注意事项。

heif库安装
  1. 下载vcpkg这个库,直接github进行克隆 ,如果一次不行多试几次应该就可以,或者直接download zip包

    git clone https://github.com/microsoft/vcpkg
    
  2. vcpkg下载完成后,命令行进入该文件夹根目录,执行bootstrap-vcpkg.bat脚本 ,并等待脚本执行完成,最终会下载一个vcpkg.exe可执行文件,之后我们通过这个可执行文件进行libheif库的编译

  3. 编译64位库vcpkg install libheif:x64-windows

  4. 编译32位库vcpkg install libheif:x86-windows

  5. 编译libheif库时,依赖的库会自动进行下载,这个过程比较慢,如果大家发现下载很慢,也可以根据命令行提醒,查看他正在下载的文件然后自己手动下载并放入对应目录,中断当前命令,然后在重新执行即可

  6. 一切顺利的话libheif库应该就会安装完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值