2011-04-26 4 views
1

현재 이미지 수정을하고 있습니다. 내 "Image"라는 수업을 사용했습니다.원시 데이터에서 UIImage 만들기

그것은 다음과 같습니다

@interface Image : NSObject { 
    @public 
     int height; 
     int width; 
     float* data; 
} 

그래서 데이터에 나는 그들이 사에 의해 네 가지 의미 RGBA 형식으로, 수레가있다. Image 클래스를 변경할 수 없습니다.

내 이미지에서 UIImage를 만들어야합니다. 나는 그런 것을 시도하고있다 :

+(UIImage *)getUIImageFromImage:(Image *)_img { 
    NSData * imageData = (NSData *) _img->data; 
    return [[UIImage alloc] initWithData:imageData]; 
} 

나는 무엇인가하고있다? 내 캐스트가 (NSData *) 괜찮습니까?

답변

2

아니요. NSData은 Objective-C 개체입니다. float *은 하나 이상의 float 값에 대한 원시 포인터입니다.

이 데이터에서 제공하고있는 무엇 형식으로, 우리는 다음 UIImage에 싸여 수 있습니다 어느 쪽 NSData 객체 또는 CGImage 석영 값으로 변환 할 수있는 방법을 제안 할 수 있습니다 어디 우리를 말한다면 UIKit 클래스와 함께 사용됩니다.

+0

이 데이터는 0.0에서 255.0 사이의 부동 소수점 값입니다. –

+0

CGImageCreate()에서 사용할 수있는 값으로 수동 변환해야합니다 (아마도'uint8_t '값). 그런 종류의 데이터로부터 이미지를 빌드하기위한 내장 된 지원은 없습니다. –

+0

감사합니다. CGDataProviderRef 매개 변수를 사용하는 방법을 이해할 수 없다 ... –

관련 문제