2012-01-12 3 views
2

,는 const를 서명 숯불의 myArry에있는 UIImage 데이터를 변환 [100] 나는 다음과 같은 유형의 일치 뭔가에있는 UIImage을 변환 할 필요가 목표 C에서

: 나는있는 NSData의 문서를 읽은

const unsigned char myImg[6300] = { 0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0, 
0x0,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff, 
0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff, etc etc etc } 

을 , 시도 :

self.animalImage = [UIImage imageNamed:@"animal.png"]; 
self.animalData = UIImagePNGRepresentation(self.animalImage); 
NSUInteger size = [self.animalData length]/sizeof(unsigned char); 
unsigned char* array = (unsigned char*) [self.animalData bytes]; 

결과가 가비지 또는 nil입니다. 위의 형식과 정확하게 일치해야합니다. 이견있는 사람? 모든 팁에 미리 감사드립니다!

+0

정말로 PNG 데이터를 원하십니까? 아니면 이미지의 비트 맵 표현을 찾고 있습니까? –

+1

서식 지정 예제는 정확히 무엇입니까? 모든 픽셀이 0 또는 255 인 이진 이미지를 원하십니까? 아니면 각 픽셀의 빨강, 녹색 및 파랑 값이 표준 RGB 비트 맵 표현을 원하십니까? 현재 당신이 얻고있는 것은 이미지의 PNG (압축 된) 버전을 나타내는 바이트입니다. – UIAdam

답변

0

결과가 "가비지 또는 없음"이지만 문서에 오류가 발생하면 이미지의 바이트 데이터가 반환되거나 nil이 반환된다고 표시됩니다.

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/#//apple_ref/c/func/UIImagePNGRepresentation

나는 그것이 같은 이미지와 다른 결과를 생성 할 수 표시되지 않습니다, 그래서 당신은 몇 가지 다른 이미지로 아마 어떤 이들 중 실제로 PNG 이미지를 그것을 시도 추측거야. 올바르게 구문 분석 할 수없는 것들은 nil을 반환하고 설명하는 "가비지"는 아마도 실제로 원하는 데이터 일 것입니다.

NSData* 인스턴스를 얻은 후에는 enumerateByteRangesUsingBlock을 사용하여 필요한 새 어레이를 빌드 할 수 있습니다.

https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/