2009-10-14 53 views
5

誰能告訴我如何使用如何用RGB數據創建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 [寬*高* 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

最大的謎團有數據提供者。答案就是您需要創建一個包含或可以提供像素數據的CGDataProvider對象。

一些較小的奧祕是通過colorSpacebitmapInfo。這些是CGColorSpace對象和CGBitmapInfo位掩碼。

decode數組的解釋可能會更清晰,但很明顯的是您可能不需要一個。通過NULL

除了這些事情,一切都不言而喻,或在the documentation for this function中得到很好的解釋。

+0

鏈路斷開。 – wcochran 2018-03-01 16:53:32