问题描述
嘿? 所以我正在后台线程上调整我的图像大小,该线程在应用程序使用 beginBackgroundTask
以及其他一些代码进入后台后继续执行:
func resizeImage(image: UIImage,newWidth: CGFloat) -> UIImage {
let scale = newWidth / image.size.width
let newHeight = image.size.height * scale
UIGraphicsBeginImageContext(CGSize(width: newWidth,height: newHeight))
image.draw(in: CGRect(x: 0,y: 0,width: newWidth,height: newHeight))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage!
}
当我触发调整大小并返回主屏幕时,我会收到一系列以下错误。 但如果我让它在前台运行,它就会完美运行。
[未知进程名称] vImageConvert_AnyToAny - 失败的宽度 = 0 高度 = 1 dst 组件 = 8 位整数 dstLayout = ByteOrder32Little dstBytesPerRow = 0 src 组件 = 8 位整数 srcLayout = ByteOrderDefault srcBytesPerRow = 0
当我设置断点时,我不能肯定地说我的调整大小逻辑正在吐出这些错误,但它必须是因为 vImageConvert_AnyToAny
是一个低级图像 API,它可能被 {{1} 调用} 或 UIGraphicsGetImageFromCurrentImageContext
。
如何消除这些错误?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)