2012-02-09 25 views
2

私はlibtiffで使用するためにuiimageをchar配列に変換しようとしています。ここでUIimage to char *変換

おかげ

答えて

7

はUIImageのバイトを取得するために私が知っている最も簡単な方法です:

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

次いで、データをバイトの配列です。

編集:ここでは

あなたはchar型の配列を取得する方法である:

const unsigned char * buffer = CFDataGetBytePtr(pixelData); 

EDIT 2:

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

おかげで、これは次のとおりです。

がcharにキャストしてみuIntはchar配列ではありません。 TIFFWriteEncodedStrip(image、0、buffer、25 * 144)でエラーが発生しました。バッファはchar *でなければなりません。 – pa12

+1

終了したら 'CFRelease(pixelData)'を呼び出すことを忘れないでください。 –

+0

これはまだ動作しません "TIFFWriteEncodedStripに一致する関数呼び出しがありません"というエラーが表示されます – pa12