2012-02-09 2 views

ответ

7

Вот это самый простой способ, который я знаю, чтобы получить байты в UIImage:

UIImage *someImage = ...; 
CFDataRef pixelData = CGDataProviderCopyData(CGImageGetDataProvider(someImage.CGImage)); 
const UInt8 *data = CFDataGetBytePtr(pixelData); 

затем Data представляет собой массив байтов.

EDIT:

Вот как вы получаете массив символов:

const unsigned char * buffer = CFDataGetBytePtr(pixelData); 

EDIT 2:

Попробуйте литье его обугливается:

char * buffer = (char *)CFDataGetBytePtr(pixelData); 
+0

Спасибо, но это a uInt right not char array. Я получаю сообщение об ошибке в TIFFWriteEncodedStrip (изображение, 0, буфер, 25 * 144); буфер должен быть char *. – pa12

+1

Не забудьте вызвать 'CFRelease (pixelData)' после того, как вы закончите с ним. –

+0

Он пока не работает. Я получаю сообщение об ошибке «Нет вызова соответствующей функции для TIFFWriteEncodedStrip». – pa12