2012-02-09 2 views
2

libtiff와 ​​함께 사용하기 위해 uiimage를 char 배열로 변환하려고합니다.char * 변환 UIimage

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

데이터는 다음 바이트의 배열은 다음과 같습니다

감사

다음

답변

7

은있는 UIImage의 바이트를 얻는 내가 아는 가장 쉬운 방법입니다.

편집 :

는 char 캐스팅보십시오 : 2

const unsigned char * buffer = CFDataGetBytePtr(pixelData); 

편집 :

여기

당신은 문자 배열 얻는 방법이다

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

감사합니다, 그러나 이것은이다 uInt는 char 배열이 아닙니다. TIFFWriteEncodedStrip (image, 0, buffer, 25 * 144)에서 오류가 발생했습니다. 버퍼는 char *이어야합니다. – pa12

+1

작업이 끝나면'CFRelease (pixelData)'를 호출하는 것을 잊지 마십시오. –

+0

아직 작동하지 않습니다. "TIFFWriteEncodedStrip에 맞는 함수 호출이 없습니다"라는 오류가 발생합니다. – pa12

관련 문제