I am trying to create a new image from raw data in an unsigned char *. I have a bit per pixel from the saved data. I tried converting the raw data to NSData, but the result was zero,
unsigned char * bitmap = myData;
NSUInteger myImageDataLength = strlen ((const char *) bitmap);
NSData * d = [NSData dataWithBytes: bitmap length: myImageDataLength];
imgView.image = [UIImage imageWithData: d];
Then I tried to use the context to create the image as follows:
CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB(); int width = mWidth; int height = mHeight; size_t bpp = mBpp; size_t bpc = 8; size_t bpr = (width * 4); CGContextRef context = CGBitmapContextCreate(bitmap, width, height, 8, bpr, colorspace, kCGImageAlphaNone); CGImageRef cgImage = nil; if (context != nil) { cgImage = CGBitmapContextCreateImage (context); CGContextRelease(context); } CGColorSpaceRelease(colorspace); UIImage *newImage = [UIImage imageWithCGImage:cgImage];
I get an error message like <Error>: CGBitmapContextCreate: unsupported parameter combination: 8 integer bits/component; 24 bits/pixel; 3-component color space; kCGImageAlphaNone; 64 bytes/row. <Error>: CGBitmapContextCreate: unsupported parameter combination: 8 integer bits/component; 24 bits/pixel; 3-component color space; kCGImageAlphaNone; 64 bytes/row.
I tried to solve it by setting many values, but could not find the result. I googled on the Internet to find this solution, but everyone else creates an image from existing images, so they get bit values ββfor components and all that ... How can I create an image from this data ???
Original Image:

Resulting Image:

The resulting image must be distorted. (Expires just like fatBooth and another application)
source share