5

谁能给我一个清楚的例子来说明如何使用

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(width, height), G(width,height) , B(宽,高)

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

请帮忙,谢谢

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

在 Objective-C++ Cocoa 中将 RGB 数据转换为位图

4

2 回答 2

2

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

一些较小的奥秘是传递colorSpacebitmapInfo。这些是一个CGColorSpace对象和一个CGBitmapInfo位掩码。

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

除了这些东西,一切都是不言而喻的,或者在这个函数的文档中有很好的解释。

于 2009-10-17T16:39:47.967 回答
1

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

在 Objective-C++ Cocoa 中将 RGB 数据转换为位图

于 2009-10-19T16:29:31.760 回答