如何从UIImage或者CGImage获取到图片的像素数据
来源:互联网 发布:java大量数据处理调优 编辑:程序博客网 时间:2024/06/05 19:09
How to get pixel data from a UIImage (Cocoa Touch) or CGImage (Core Graphics)?
CFDataRef CopyImagePixels(CGImageRef inImage){ return CGDataProviderCopyData(CGImageGetDataProvider(inImage));}
Use CFDataGetBytePtr
to get to the actual bytes (and various CGImageGet*
methods to understand how to interpret them).
NSString * path = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"jpg"];UIImage * img = [[UIImage alloc]initWithContentsOfFile:path];CGImageRef image = [img CGImage];CFDataRef data = CGDataProviderCopyData(CGImageGetDataProvider(image));const unsigned char * buffer = CFDataGetBytePtr(data);
CFDataRef bitmapData = CGDataProviderCopyData(CGImageGetDataProvider(image.CGImage));
这里拿到的bitmapData变量里面就包含了所有像素的所有信息,记得用完了之后要释放bitmapData所占有的空间。CFData的用法可以参考官方文档。
使用CFDataGetLength函数可以看到,这个数据的长度是4*image.size.width*image.size.height。也就是每一个像素点都占据了四个字节的长度,依次序分别是RGBA,即红色、绿色、蓝色值和透明度值。
使用函数CFDataGetBytePtr(bitmapData) 就可以拿到字节数组的指针了。
0 0
- 如何从UIImage或者CGImage获取到图片的像素数据
- 获取UIImage像素数据
- ios 获取UIImage图片的像素尺寸
- 如何从UIImage对象获取图片的格式
- 如何从UIImage对象获取图片的格式
- objective-c中如何从UIImage中获取像素信息
- UIImage如何从网络上获取图片
- 获取JPG或者BMP图片的像素
- 获取JPG或者BMP图片的像素
- UIIMage与CGImage的关系
- 如何获取图片的RGB565像素信息
- uiimage 转换为像素数据 以及从像素数据生成为uiimage
- uiimage 转换为像素数据 以及从像素数据生成为uiimage
- 如何从网络上获取图片转换成字节流或者保存到本地
- CIImage CGImage UIImage 区别
- iOS 获取屏幕分辨率 以及放大模式、高清模式区别 和 获取UIImage图片的像素尺寸
- (ios)UIImage,CGImage和CGImageRef之间的转化
- Swift之CIImage、CGImage、UIImage之间的相互转换
- shareSDK使用心得
- DFS应用——查找强分支
- Linux内存管理原理
- Android PathMeasure使用
- [ecshop 资料] ectouch 微信通 微信接入 自动注册 的代码结构
- 如何从UIImage或者CGImage获取到图片的像素数据
- PHP 正则表达式截取HTML
- ios9 支付宝支付跳网页不跳 客户端
- Ubuntu安装切换jdk版本
- cascadeclassifier.cpp
- jar/war/ear文件的区别
- K-均值算法
- 时间复杂度
- 隐藏tabbar之后在原位置新建View不响应点击事件的方法