kCGColorSpaceGenericRGB在iPhone上不受欢迎?
我正在尝试使用以下代码获取位图上下文:kCGColorSpaceGenericRGB在iPhone上不受欢迎?,iphone,cocoa,image,colors,core-graphics,Iphone,Cocoa,Image,Colors,Core Graphics,我正在尝试使用以下代码获取位图上下文: GContextRef MyCreateBitmapContext (int pixelsWide, int pixelsHigh) { CGContextRef context = NULL; CGColorSpaceRef colorSpace; void * bitmapData; int bitmapByteCount; int bitm
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”已被弃用。
这是否意味着
colorSpace
是不可更改的?如果这是真的,我们将无法使用colorSpace
更改任何图像的颜色数据。那么如何处理图像呢?通用颜色空间已被弃用。相反,尝试
CGColorSpaceRef colorSpace=CGColorSpaceCreateDeviceRGB()