CGImageCreate: 无效的图像 alphaInfo

问题描述

我收到一个奇怪的错误,我无法指出是代码的哪一部分导致了它。

运行使用相机图像检测条形码的 iOS 应用时,出现以下错误:

2020-12-27 23:58:53.674730+0100 MYAPP[11942:4109474] [Unknown process name] CGImageCreate: invalid image alphaInfo: kCGImageAlphaNone. It should be kCGImageAlphaNoneSkipLast

我不知道这是从哪里触发的。有人可以帮忙吗?

到目前为止我已经尝试过:

  1. 添加带有 NSLog 的符号调试器,假设这是一个日志输出,但调试器没有捕获它。

  2. 由于错误提到图像没有正确的 alphaInfo,我尝试在 UIImage 被修改的所有地方添加一个 alpha(它被修改以进行裁剪和旋转)

还有什么我应该尝试的吗?

P.S.:该应用程序是使用 Cordova 的混合应用程序,之前使用 XCode < 12 编译并在 iOS < 14 上运行时未出现此错误。

P.P.S.:我对 iOS/objective-c 很陌生。如果需要,我可以提供更多日志。

解决方法

如果您创建 CGImage 对象,请尝试将 bitmapInfo 赋予 CGImage 初始值设定项。

let bitmapInfo = CGBitmapInfo(rawValue: CGImageAlphaInfo.noneSkipLast.rawValue)
let cgImage = CGImage(
    width: width,height: height,bitsPerComponent: bitsPerComponent,bitsPerPixel: bitsPerPixel,bytesPerRow: bytesPerRow,space: colorSpace,bitmapInfo: bitmapInfo,provider: provider,decode: nil,shouldInterpolate: true,intent: CGColorRenderingIntent.defaultIntent
)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...