Ios 快速将UIImage转换为无alpha通道的24位RGB
我想将UIImage转换为24位RGB,中间没有32位RGBA缓冲区 我尝试过这个,但它不起作用(字节都是零):Ios 快速将UIImage转换为无alpha通道的24位RGB,ios,uiimage,swift4,24-bit,Ios,Uiimage,Swift4,24 Bit,我想将UIImage转换为24位RGB,中间没有32位RGBA缓冲区 我尝试过这个,但它不起作用(字节都是零): 这是一个有点旧,但由于我也与它斗争,我认为它会是好的,添加一些我发现的 如上所述,Quartz不支持24位RGB图像。请参阅支持的格式@马特也回答了这个问题 我怀疑它未能创建CGContext并返回nil作为上下文。然后它从不写入上下文,只返回为字节缓冲区初始化的值 如果您更改线路: bytesPerRow: 3 * Int(size.width), 致: 您将获得一个有效的上下文
这是一个有点旧,但由于我也与它斗争,我认为它会是好的,添加一些我发现的 如上所述,Quartz不支持24位RGB图像。请参阅支持的格式@马特也回答了这个问题 我怀疑它未能创建CGContext并返回nil作为上下文。然后它从不写入上下文,只返回为字节缓冲区初始化的值 如果您更改线路:
bytesPerRow: 3 * Int(size.width),
致:
您将获得一个有效的上下文,并能够使用它进行绘制。有点痛,但我就是这样克服的
bytesPerRow: 3 * Int(size.width),
bytesPerRow: 4 * Int(size.width), //to accommodate the non-existing alpha channel