对于我目前正在进行的一个项目,我正在尝试将一堆 PNG 图像转换为 HEIF/HEIC。这些图像将在 Xcode 中使用.xcassets
,然后将被“编译”成一个.car
文件。
编译 PNG(总共约 150 个文件)会产生约 40 MB 的 . Assets.car
,这就是为什么我首先尝试将它们转换为 HEIF/HEIC 的原因。我尝试了各种解决方案,例如 ImageMagick、GIMP 中的“导出为”、biodranik/HEIF、libheif
's heif-enc
、在 Photoshop 中将 PNG 导出为 8 位或 16 位,然后重新进行所有操作。但是一切都会导致.heic
文件在 iOS 上被“破坏”。第一张图片显示了迄今为止我得到的最佳输出,但边缘仍然存在边缘。右边的白色圆角矩形是 iOS 的 Face ID 挂锁。
第二张图片是(我认为)一个 16 位 PNG 转换为 HEIC 使用libheif@1.8.0
,通过 Homebrew 升级。无损质量预设,10 位输出。heif-enc
抱怨色彩空间从 RGB 转换为 YCbCr,说明even though you specified lossless compression, there will be differences because of the color conversion
有什么方法可以正确地将 PNG 文件转换为 HEIF/HEIC 而不会造成这种质量损失?请不要建议在线服务来转换文件,因为我想完全控制我的文件。