Подтвердить что ты не робот

CGBitmapContextCreate с kCGImageAlphaNone

Мне отчаянно нужно создать CGContextRef БЕЗ альфа-канала. К сожалению, с Core Graphics вы НЕ МОЖЕТЕ указывать kCGImageAlphaNone с CGBitmapCreateContext.

Может ли кто-нибудь ПОЖАЛУЙСТА опубликовать рабочий пример того, как я могу создать CGContextRef БЕЗ альфа-канала?

Причина, по которой мне это нужно, - это то, что я в конечном счете пытаюсь вызвать CGImageCreateWithMaskingColors, который, конечно, НЕ будет работать, если предоставленный CGImageRef имеет альфа-канал.

Отправьте рабочий пример. Если вы это сделаете, вы можете наслаждаться тем фактом, что вы будете на переднем крае и будете ПЕРВЫМ человеком, чтобы это сделать! Пожалуйста, напишите!

4b9b3361

Ответ 1

Вы можете создать контекст растрового изображения без альфа-канала. Вы просто не можете создать контекст растрового изображения с тремя байтами на пиксель. Здесь секретное рукопожатие:

CGContextRef gc = CGBitmapContextCreate(NULL, myWidth, myHeight, 8, myWidth * 4,
    myColorSpace, kCGImageAlphaNoneSkipLast);