Windows Qt中支持heic 图片显示

安装vcpkg:

git clone https://github.com/microsoft/vcpkg

执行脚本:

.\vcpkg\bootstrap-vcpkg.bat

在安装之前如果需要指定vs的编译器, 在如下文件中做更改, 我指定的是用vs2019编译的:

D:\vcpkg\vcpkg\triplets

增加了

复制代码
set(VCPKG_PLATFORM_TOOLSET "v142")
set(VCPKG_DEP_INFO_OVERRIDE_VARS "v142")

安装Libheif

复制代码
        指定安装(编译)64位库
        .\vcpkg\vcpkg install libheif:x64-windows

        #指定安装(编译)32位库
        .\vcpkg\vcpkg install libheif:x86-windows

成功后在如下目录中生成64位和32位的

编写qt插件(这里有我自已写的demo, vs2019 32位的)

https://download.csdn.net/download/uVarAndMethod/89302876?spm=1001.2014.3001.5503

生成的debug和release的dll放入qt安装目录下 Qt\5.15.2\msvc2019\plugins\imageformats中, 如下图

这样做完之后, 加载heic图片

复制代码
import QtQuick 2.15
import QtQuick.Window 2.15

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")
    Image{
        anchors.centerIn: parent
        source: "file:///C:\\Users\\Administrator\\Desktop\\wget\\311.HEIC"
    }
}

然后, 再把 vcpkg中编译好的dll放入当前可执行文件目录下,运行即可显示

运行图片:

相关推荐
xlp666hub9 小时前
Leetcode第五题:用C++解决盛最多水的容器问题
linux·c++·leetcode
得物技术10 小时前
搜索 C++ 引擎回归能力建设:从自测到工程化准出|得物技术
c++·后端·测试
唐宋元明清218818 小时前
.NET Win32磁盘动态卷/跨区卷触发“函数不正确”问题排查
windows·c#·存储
xlp666hub1 天前
Leetcode 第三题:用C++解决最长连续序列
c++·leetcode
会员源码网1 天前
构造函数抛出异常:C++对象部分初始化的陷阱与应对策略
c++
xlp666hub1 天前
Leetcode第二题:用 C++ 解决字母异位词分组
c++·leetcode
不想写代码的星星1 天前
static 关键字:从 C 到 C++,一篇文章彻底搞懂它的“七十二变”
c++
xlp666hub2 天前
Leetcode第一题:用C++解决两数之和问题
c++·leetcode
不想写代码的星星2 天前
C++继承、组合、聚合:选错了是屎山,选对了是神器
c++
不想写代码的星星3 天前
std::function 详解:用法、原理与现代 C++ 最佳实践
c++