ios中获取UIImage的像素信息

ios中获取UIImage的像素信息

网上搜罗实验了各种方法,最后找到一个很简单的,简单到就只要一行代码:

1
CFDataRef bitmapData = CGDataProviderCopyData(CGImageGetDataProvider(image.CGImage));

这里拿到的bitmapData变量里面就包含了所有像素的所有信息,记得用完了之后要释放bitmapData所占有的空间。CFData的用法可以参考官方文档

使用CFDataGetLength函数可以看到,这个数据的长度是4*image.size.width*image.size.height。也就是每一个像素点都占据了四个字节的长度,依次序分别是RGBA,即红色、绿色、蓝色值和透明度值。

使用函数 CFDataGetBytePtr(bitmapData) 就可以拿到字节数组的指针了。

你可能感兴趣的:(uiimage)