CGColorSpaceCreateIndexed создает цветовое пространство в оттенках серого с альфа

#ios #alpha #grayscale #cgcolorspace

#iOS #альфа #оттенки серого #cgcolorspace

Вопрос:

Может кто-нибудь посоветовать, как создать цветовое пространство в оттенках серого с помощью альфа CGColorSpaceCreateIndexed -метода? Мне нужны только значения в оттенках серого, но с включенным альфа-каналом, поэтому CG ColorSpaceCreateDeviceGray() у меня не работает. Заранее спасибо.

Комментарии:

1. CGColorSpaceCreateDeviceGray() должно быть создано цветовое пространство WA так же, как CGColorSpaceCreateDeviceRGB() должно возвращать RGBA. Но если это не сработает, что вы получите, когда попробуете что-то вроде CGColorGetColorSpace([UIColor whiteColor].CGColor) ?

2. Использование CGColorSpaceRef colorSpace2 = CGColorGetColorSpace([UIColor whiteColor].CGColor); in CGContextRef context = CGBitmapContextCreate(nil, width, height, 8, 0, colorSpace2, kCGImageAlphaFirst); возвращает недопустимый контекст.

3. Это цветовое пространство должно работать с этой функцией, поскольку оно не является индексированным цветовым пространством, но убедитесь, что этот bitmapInfo параметр используется правильно ( документация ).