swift - CGContext.init 返回 nil

标签 swift macos core-graphics 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

创建内存位图的正确方法是什么?

最佳答案

不支持您的组合。你不能有没有 alpha 的 RGB 颜色。支持的像素格式列表在 Quartz 2D Programming Guide 中.

您可以忽略 alpha(“none skip first”或“none skip last”),但您不能直接处理 24 位 (3x8) 打包像素。

关于swift - CGContext.init 返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55127261/

相关文章:

java - Eclipse:无法更改 OSX 上 Luna 的代理身份验证信息

Cocoa应用程序菜单-如何重新创建?

ios - 绘制多条线时的 drawRect 性能

ios - CGAffineTransform 不影响自动布局

ios - 无法分配给属性 'tabBarController' 是仅获取属性

ios - 禁用 AVSpeechSyntesizer/AVSpeechUtterance 的自动日期检测

带冒号和不带冒号的 Java 类路径 ":"

iphone - 将 CGAffineTransform 旋转关联到 CGAffineTransform 平移

arrays - 将类对象追加到数组 [Swift]

ios - Swift:更改标签栏的图像色调颜色?