Search code examples
ioscore-graphicsalphacgbitmapcontextcreate

How do I create an alpha only bitmap context


Apple tech note QA1037 says "To create an alpha-only bitmap context simply pass NULL for the colorspace parameter."

However, I am not sure what to pass for the bitmapInfo parameter.

I was trying something like this, with kCGImageAlphaOnly:

CGContextRef ctx = CGBitmapContextCreate(NULL, scaledSize.width, scaledSize.height, 8, scaledSize.width, NULL, kCGImageAlphaOnly);

But this gives me an warning about the enum being wrong. What should I put there instead?


Solution

  • The docs clearly state you can use values from the CGImageAlphaInfo even though the parameter is defined as needed a value from the CGBitmapInfo enum.

    One solution would be to cast the value:

    (CGBitmapInfo)kCGImageAlphaOnly
    

    That will make the compiler happy.