#swift #macos #core-graphics #cgcontext
#swift #macos #ядро-графика #cgcontext
Вопрос:
Я создаю простое графическое приложение с движущимися объектами и некоторой анимацией для Mac OS.
Что я пытаюсь сделать, так это создать растровое изображение в памяти, которое должно быть отображено в реальном контексте в конце кадра (не уверен, что CG является правильным способом сделать это):
let tempBitmap = CGContext.init (data: nil, width: width,
height: height, bitsPerComponent: 8, bytesPerRow: 0, space: CGColorSpaceCreateDeviceRGB(),
bitmapInfo: CGImageAlphaInfo.none.rawValue)
но это всегда возвращается nil
.
Каков правильный способ создания растрового изображения в памяти?
Ответ №1:
Ваша комбинация не поддерживается. У вас не может быть цвета RGB без альфа. Список поддерживаемых форматов пикселей приведен в руководстве по программированию Quartz 2D.
Вы можете игнорировать альфа-код («никто не пропускает первым» или «никто не пропускает последним»), но вы не можете работать напрямую с 24-битными (3×8) пикселями, упакованными.
Комментарии:
1. @Elagoff meta.stackexchange.com/questions/5234 /…