Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 快速将UIImage转换为无alpha通道的24位RGB_Ios_Uiimage_Swift4_24 Bit - Fatal编程技术网

Ios 快速将UIImage转换为无alpha通道的24位RGB

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), 致: 您将获得一个有效的上下文

我想将UIImage转换为24位RGB,中间没有32位RGBA缓冲区

我尝试过这个,但它不起作用(字节都是零):


这是一个有点旧,但由于我也与它斗争,我认为它会是好的,添加一些我发现的

如上所述,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