23

アルファチャンネルなしで CGContextRef を作成する必要があります。残念ながら、Core Graphics では、CGBitmapCreateContext で kCGImageAlphaNone を指定することはできません。

誰かがアルファチャンネルなしで CGContextRef を作成する方法の実例を投稿できますか?

これが必要な理由は、最終的に CGImageCreateWithMaskingColors を呼び出そうとしているためです。もちろん、提供された CGImageRef にアルファ チャネルがある場合は機能しません。

実際の例を投稿してください。そうすれば、最先端にいること、そしてそうする最初の人になるという事実を楽しむことができます! 投稿してください!

4

1 に答える 1

60

アルファ チャネルのないビットマップ コンテキストを作成できます。ピクセルあたり 3 バイトのビットマップ コンテキストを作成することはできません。秘密の握手は次のとおりです。

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)
于 2012-02-23T06:52:10.467 に答える