Open cherub0507 opened 1 year ago
假定你是 Windows 用户并且用的是我预编译好的版本,那添加这个支持需要做的事情就是在 CI 环境里编译好 LibHeif。
我最近不太有空去和 CI 打乒乓,如果你(或者任何看到这个 Issue 的人)有意愿的话,欢迎 PR :)
“需要做的事情就是在 CI 环境里编译好 LibHeif” 是我做不到的事情
我短期内可能没空做这件事情,那就只能等其他人贡献或者等我有空了。
上周刚好有一点空于是就折腾了一下,插件是顺利编译出来了但我手头的测试文件却完全加载不了。相比 MSYS2 环境的现成依赖倒是可以工作的很正常,不清楚是不是还有什么别的依赖需要额外处理...
作为参考目前的修改是: https://github.com/BLumia/pineapple-pictures/commit/9743bd7d7a54262159bab7210697d3960487d4b1 (位于名为 heif 的分支)
暂时没有更多精力折腾了,可能又要搁置一段时间。有兴趣的人可能可以参考上面的修改继续搞((
能否使用网上第三方编译的libheif.dll添加到文件夹里使用?
能否使用网上第三方编译的libheif.dll添加到文件夹里使用?
如果你指的是我在 release 里提供的版本的话,只放那个 DLL 不够,需要把 HEIF 的插件也构建出来(kimg_heif.dll
)。
如果你指的是 https://github.com/BLumia/pineapple-pictures/issues/99#issuecomment-2094082067 里提到的版本的话,是的。但需要注意,这里 CI 使用的是 MinGW 进行的构建,所以不能使用 MSVC 版本的 DLL(否则就得包括程序本体和相关依赖也使用 MSVC 构建才行)。
不过事实上如果完全走 MSYS2 编译的话是默认支持 HEIF 格式的(需要 kimageformats,MSYS2 仓库里本身就有,直接装就行),不需要任何额外干预,甚至默认还支持更多其他格式。只是走 MSYS2 的话打包出来的 DLL 文件会比我目前提供的版本多出来很多,会减慢一点点启动速度,所以我提供的版本没选这种方案。
新的进展。
既然我懒得折腾 MinGW 环境的构建,于是考虑干脆提供一个 MSVC 版本,这样可以复用别人构建好的依赖。目前 MSVC 的 CI 已经就绪了。当前体验步骤如下:
windows-msvc2022-qt6.5.3-cmake-package
,下载完毕后解压到自己偏好的位置。(后续这个 CI 会合入主干,可以自己找到对应的)kimageformats-windows-2022-6.5.3-win64_msvc2019_64.zip
(可能需要点击 Show all XX assets
展开显示完整资源列表)kimg_
前缀的 DLL 文件解压到第一步看图程序所在位置的 imageformats
文件夹内kimg_
为前缀的 DLL 文件解压到 ppic.exe
主程序所在的文件夹内需要注意的是,截至目前,这个 CI 构建的 msvc 版本并未提供 EXIF 元信息支持,也就是说在属性对话框看到的信息会只有基本信息。后续可能会提供包含 EXIF 支持的版本,但这个和此 issue 就没有关系了。
希望能支持