iPhone上不推薦使用kCGColorSpaceGenericRGB?

我正在嘗試使用如下代碼獲取位圖上下文: ide

GContextRef MyCreateBitmapContext (int pixelsWide, int pixelsHigh)
{
    CGContextRef    context = NULL;
    CGColorSpaceRef colorSpace;
    void *          bitmapData;
    int             bitmapByteCount;
    int             bitmapBytesPerRow;

    bitmapBytesPerRow   = (pixelsWide * 4);                          // 1
    bitmapByteCount     = (bitmapBytesPerRow * pixelsHigh);

    colorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);// 2
    bitmapData = malloc( bitmapByteCount );                          // 3
    if (bitmapData == NULL)
    {
        fprintf (stderr, "Memory not allocated!");
        return NULL;
    }

    context = CGBitmapContextCreate (bitmapData,                     // 4
                                    pixelsWide,
                                    pixelsHigh,
                                    8,      // bits per component
                                    bitmapBytesPerRow,
                                    colorSpace,
                                    kCGImageAlphaPremultipliedLast);
    if (context== NULL)
    {
        free (bitmapData);                                          // 5
        fprintf (stderr, "Context not created!");
        return NULL;
    }

    CGColorSpaceRelease( colorSpace );                              // 6
    return context;                                                 // 7
}

警告說: 'kCGColorSpaceGenericRGB' is deprecated. spa

這是否意味着colorSpace更改? 若是是這樣,咱們將沒法使用colorSpace更改任何圖像的顏色數據。 那麼如何處理圖像呢? code


#1樓

不推薦使用通用顏色空間。 相反,嘗試; component

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB() ; ip

相關文章
相關標籤/搜索