0

I got byte array from UIImage by next code..

context = CGBitmapContextCreate(    (void*) pixelData,
                                inImage.size.width,
                                inImage.size.height,
                                RGBA_8_BIT,
                                bytesPerRow,
                                colorSpace,
                                kCGImageAlphaPremultipliedLast );

//  Make sure we have our context   
if ( ! context )    
{
    free( pixelData );
    NSLog( @"Context not created!" );
}


//  Draw the image to the bitmap context.   
//  The memory allocated for the context for rendering will then contain the raw image pixelData in the specified color space.
CGRect rect = {     { 0 , 0 }, { inImage.size.width, inImage.size.height }        };
CGContextDrawImage( context, rect, inImage.CGImage );

// Now we can get a pointer to the image pixelData associated with the bitmap context.
pixelData = (RGBAPixel*) CGBitmapContextGetData( context );

Now.. I want UIImage from "pixelData"... help..

RGBAPixel is a struct... --> int red; int green; int blue; int alpha;

1 Answers1

1

The following is the way I get a UIImage from context.

CGImageRef aCGImg = CGBitmapContextCreateImage(context);
UIImage *aUIImg = [UIImage imageWithCGImage:aCGImg];
CGImageRelease(aCGImg);
AechoLiu
  • 17,522
  • 9
  • 100
  • 118