如何使用RGB数据创建CGImage?

时间:2009-10-14 21:08:07

标签: ios objective-c cocoa cgimage

任何人都可以向我展示如何使用

的明确示例
CGImageRef CGImageCreate 
(
   size_t width,
   size_t height,
   size_t bitsPerComponent,
   size_t bitsPerPixel,
   size_t bytesPerRow,
   CGColorSpaceRef colorspace,
   CGBitmapInfo bitmapInfo,
   CGDataProviderRef provider,
   const CGFloat decode[],
   bool shouldInterpolate,
   CGColorRenderingIntent intent
);

我有一个CGFloat dataBuffer [width * height * 3];

它包含图像的所有RGB数据。基本上,它从像素R(0,0),G(0,0),B(0,0),R(0,1)...到R(宽度,高度),G(宽度,高度) ,B(宽度,高度)

我知道图像的大小,宽x高。我如何使用我拥有的信息并创建和CGImage ??

请帮忙,谢谢

我发布了另一个包含上述问题的问题。 nschmidt正确回答,这是链接

Converting RGB data into a bitmap in Objective-C++ Cocoa

2 个答案:

答案 0 :(得分:2)

最大的谜团是数据提供商。答案是,您需要创建一个CGDataProvider对象,该对象包含或可以提供您拥有的像素数据。

一些较小的谜团是colorSpacebitmapInfo传递的内容。这些是CGColorSpace对象和CGBitmapInfo位掩码。

decode数组的解释可能更清楚,但很清楚的是你可能不需要一个。通过NULL

除了这些事情,一切都是不言而喻的,或在the documentation for this function中得到充分解释。

答案 1 :(得分:0)

我发布了另一个包含上述问题的问题。 nschmidt正确回答,这是链接

Converting RGB data into a bitmap in Objective-C++ Cocoa