2011-12-14 42 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

相关问题