0

:GBitmapContextCreate :되지 않는 파라미터 조합 CGBitmapContextCreate에 문제와 얻는 데

오류 :되지 않는 화소 정보 - 1 개 성분, 8 비트 당 성분을 8 비트의 픽셀 당이 코드

:

float *bitmap = (float*)malloc(sizeof(float) * width * height); 

// fill with floats 

CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceGray(); 
size_t bitsPerComponent = 8; 
size_t bytesPerRow = sizeof(float)*width; 
CGContextRef context = CGBitmapContextCreate(bitmap, width, height, bitsPerComponent, bytesPerRow, colorspace 
              , kCGImageAlphaNone| kCGBitmapFloatComponents | kCGBitmapByteOrder32Little); 

: 그것은 픽셀 당 8 비트 및 8 비트마다의 http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_context/dq_context.html

구성 요소. 왜 내가 비록 오류가 있는지 모르겠다. 이 글을 쓰는 것에 대한 몇 가지 다른 글을 보았습니다. 그러나 새로운 이미지를 만드는 것보다는 이미지를 편집하는 것이 가장 중요합니다. 따라서 일부 설정은 원본 이미지에서 가져올 수 있습니다. 당신은 플로트 구성 요소를 사용하는 경우

답변

0

다음 확실히 당신은 구성 요소 당 비트 부동 소수점의 비트 수라고 말할해야합니다! 즉

size_t bitsPerComponent = 8 * sizeof (float); 

, 픽셀 당 8 비트 = 1 플로트 float는 32 비트이기 때문에 픽셀 당.

+0

감사합니다. 하지만 이제 막 지원되지 않는 픽셀 설명 - 구성 요소 1 개, 구성 요소 당 32 비트, 픽셀 당 32 비트 – richy