Skip to content

PaulSolt/UIImage-Conversion

Repository files navigation

UIImage Conversion Sample

Paul Solt 2010

Here's a sample project and code to convert between UIImage objects and RGBA8 bitmaps. The sample project is iPhone 4/iPad 3.2 compatible.

The ImageHelper works with iPhone 4 and the Retina display using the correct scale factor with high resolution images.

UPDATE: (8-31-2025)

If you're supporting an app created on Intel-based PC's, you'll need to set the correct endianess as ARM-based Apple Silicon is reversed.

I had to be more explicit to return to the previous behavior, since the new defaults put bytes in the reverse order.

My rendering of genetic algorithms using this logic broke when I compiled for the first time on Apple Silicon. I use this in Artwork Evolution

Basic Example Usage showing the ability to convert back and forth between formats:

// Look at the sample project for actual usage

NSString *path = (NSString*)[[NSBundle mainBundle] pathForResource:@"Icon4" ofType:@"png"];
UIImage *image = [UIImage imageWithContentsOfFile:path]; 
int width = image.size.width;
int height = image.size.height;

// Create a bitmap
unsigned char *bitmap = [ImageHelper convertUIImageToBitmapRGBA8:image];

// Create a UIImage using the bitmap
UIImage *imageCopy = [ImageHelper convertBitmapRGBA8ToUIImage:bitmap withWidth:width withHeight:height];

// Display the image copy on the GUI
UIImageView *imageView = [[UIImageView alloc] initWithImage:imageCopy];

// Cleanup
free(bitmap);

About

Simple class to convert UIImage objects to bitmap arrays (RGBA8)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published