2011-12-14 86 views
0

經與CGBitmapContextCreate麻煩和獲得:GBitmapContextCreate:不支持的參數組合

錯誤:不支持的像素的描述 - 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); 
根據

http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_context/dq_context.html

這是每像素8位和每8位 零件。不知道爲什麼我會收到錯誤。我在這裏看到了其他一些關於如何正確使用這些文章的文章,但是大多數文章都是在編輯圖片而不是創建新圖片,因此可以從原始圖片中提取一些設置。

回答

0

如果你使用浮動組件那麼可以肯定你需要說的是每個組件的位是位在浮數:8位每像素

size_t bitsPerComponent = 8 * sizeof (float); 

換句話說,= 1條浮法每個像素,因爲一個浮點數是32位。

+0

謝謝!但現在我只是得到了不受支持的像素描述 - 1個組件,每個組件32位,每像素32位 – richy 2012-09-24 22:39:09

相關問題