我试图在Swift中转换Webp中的PNG图像,我唯一的工作框架是OpenCV通过 * Open-c ++*。
问题是,如果我将图像大小调整为512 x512(这是我需要的分辨率),它会崩溃:x1c 0d1x如果我将图像大小调整为另一个分辨率(例如510 x510),它不会崩溃。
奇怪的是,在模拟器上它从来没有崩溃,而在iPhone XS上它崩溃了90%的时间。
如何在Swift中将PNG转换为Webp?
如果Mat是512 x512,为什么OpenCV在 imwrite 指令上崩溃?
更新:
OpenCV版本:3.4.2
我发现这个问题发生在PNG图像之前从Core Graphics框架处理时。我需要使用它,因为我保存一个UIView作为UIImage这样:
let renderer = UIGraphicsImageRenderer(bounds: bounds)
return renderer.image { rendererContext in
layer.render(in: rendererContext.cgContext)
}
3条答案
按热度按时间drkbr07n1#
Swift 4.0
pod
'SDWebImage'
(https://github.com/SDWebImage/SDWebImage)和'SDWebImage/WebP'
(https://github.com/SDWebImage/SDWebImageWebPCoder)导入
SDWebImage
dy2hfwbg2#
我最终使用另一个框架将PNG转换为WebP:https://github.com/seanooi/iOS-WebP,必须创建 Package 器才能在Swift上使用它,但它工作得非常好。
我的 Package 很简单,但做了我需要的:
在swift中,我是这样使用它的:
wfveoks03#
对于任何人只是想将图像转换为WEBP格式:
首次安装:https://github.com/SDWebImage/SDWebImageWebPCoder