У меня была такая же проблема. CGImageRef
, который вы создаете, имеет только 6 байтов для каждого пикселя с байтом без альфа-канала. Для функции маскирования требуется CGImageRef
с 8 байтами на каждый пиксель, только 6 из них используются, без альфа-канала. По крайней мере, я думаю это то, что вызывает это.
В любом случае, исправьте это, создавая растровый контекст, рисуя ваше изображение в этом растровом контексте, а затем получая CGImageRef из CGBitmapContextCreateImage
.