【问题标题】:CGBitmapContextCreate with kCGImageAlphaNoneCGBitmapContextCreate 与 kCGImageAlphaNone
【发布时间】:2012-02-23 06:38:03
【问题描述】:

我迫切需要创建一个没有 alpha 通道的 CGContextRef。不幸的是,对于 Core Graphics,您不能使用 CGBitmapCreateContext 指定 kCGImageAlphaNone。

有人可以发布一个工作示例,说明如何在没有 Alpha 通道的情况下创建 CGContextRef 吗?

我需要这个的原因是因为我最终会尝试调​​用 CGImageCreateWithMaskingColors,当然,如果提供的 CGImageRef 具有 alpha 通道,这将不起作用。

请发布一个工作示例。如果你这样做了,你可以享受这样一个事实,即你将处于最前沿,并且将成为第一个这样做的人!请发帖!

【问题讨论】:

标签: alpha cgbitmapcontextcreate


【解决方案1】:

您可以创建没有 Alpha 通道的位图上下文。您只是无法创建每像素三个字节的位图上下文。这是秘密握手:

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

在斯威夫特中:

let gc = CGContext(
    data: nil,
    width: myWidth, height: myHeight,
    bitsPerComponent: 8, bytesPerRow: 0,
    space: myColorSpace,
    bitmapInfo: CGImageAlphaInfo.noneSkipLast.rawValue)

【讨论】:

  • 谢谢,成功了。信不信由你,您是第一个在网上任何地方发布解决方案的人。加油!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-08
  • 1970-01-01
  • 2012-07-29
  • 2023-03-14
  • 1970-01-01
相关资源
最近更新 更多