2009-06-05 6 views

ответ

1

Там хорошая post на cocoawithlove.com о декодировании base64 как на Mac OS, так и на iPhone.

Вот способ Mac OS создать NSImage:

unsigned char* data; 
int width, height; 

NSBitmapImageRep* rep; 
rep = [[NSBitmapImageRep alloc] initWithBitmapDataPlanes:&data 
               pixelsWide:width 
               pixelsHigh:height 
              bitsPerSample:8 
             samplesPerPixel:4 
               hasAlpha:YES 
               isPlanar:NO 
              colorSpaceName:NSCalibratedRGBColorSpace 
              bitmapFormat:NSAlphaNonpremultipliedBitmapFormat 
              bytesPerRow:32 
              bitsPerPixel:32]; 
NSImage* image = [[NSImage alloc] initWithSize:NSMakeSize(8, 8)]; 
[image addRepresentation:rep]; 

Это работает на iPhone, чтобы создать UIImage:

CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB(); 
CGContextRef ctx = CGBitmapContextCreate(data, width, height, 8, 32, colorspace, kCGImageAlphaPremultipliedLast); 
CGColorSpaceRelease(colorspace); 
CGImageRef cgImage = CGBitmapContextCreateImage(ctx); 
CGContextRelease(ctx); 
UIImage* image = [UIImage imageWithCGImage:cgImage]; 
CGImageRelease(cgImage); 
+0

Любые рекомендации по получении ширины и высоты? – Heckman