我正在嘗試使用如下代碼獲取位圖上下文: 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
不推薦使用通用顏色空間。 相反,嘗試; component
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB()
; ip