如何从CGImage获取Raw像素数据

use*_*790 10 iphone objective-c

如何在缩放和移动后获取UIimage的像素数据,我想获得CGImage Pixel Data,然后从CGImage Pixel Data获取UIImage.我们可以这样做吗?

Jon*_*lli 19

你可以通过电话获得rawdata

CFDataRef rawData = CGDataProviderCopyData(CGImageGetDataProvider(aCGImageRef));
Run Code Online (Sandbox Code Playgroud)

您可以像这样逐步查看像素:

UInt8 * buf = (UInt8 *) CFDataGetBytePtr(rawData); 
CFIndex length = CFDataGetLength(rawData);

for(unsigned long i=0; i<length; i+=4)
{
    int r = buf[i];
    int g = buf[i+1];
    int b = buf[i+2];
     }
CFRelease(rawData);
Run Code Online (Sandbox Code Playgroud)