2012-02-23 2 views
21

알파 채널없이 CGContextRef를 작성해야합니다. 아쉽게도 Core Graphics에서는 CGBitmapCreateContext를 사용하여 kCGImageAlphaNone을 지정할 수 없습니다.kCGImageAlphaNone을 사용하여 CGBitmapContextCreate

알파 채널없이 CGContextRef를 만드는 방법에 대한 실제 예제를 게시 할 수 있습니까?

내가 필요로하는 이유는 궁극적으로 CGImageCreateWithMaskingColors를 호출하려고하기 때문입니다. CGImageRef가 알파 채널을 제공하는 경우에는 물론 작동하지 않습니다.

작동 예제를 게시하십시오. 당신이한다면 당신은 최첨단에있을 것이며, 그렇게 할 첫 번째 사람이 될 것이라는 사실에 만족하실 수 있습니다! 게시하십시오!

+0

사람이 다음 내 솔루션을 따르십시오 링크에서 언급 된 문제가있는 경우 : http://answers.opencv.org/question/12273/cgbitmapcontextcreate-invalid-data-bytesrow-error /? answer = 104865 # post-id-104865 관련 문제입니다. – Spandan

답변

52

알파 채널이없는 비트 맵 컨텍스트를 만들 수 있습니다. 픽셀 당 3 바이트의 비트 맵 컨텍스트를 만들 수 없습니다. 여기에 비밀 악수입니다 :

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

감사합니다. 그것을 믿거 나 말거나, 인터넷상의 어느 곳에서나 솔루션을 게시 할 수있는 사람은 아닙니다. 잘 했어! – PleaseHelp