2010-12-14 19 views
5

Tengo un problema al crear un CGBitmapContext.iPhone no puede crear CGBitmapContext

CGContextRef bitmapContext = CGBitmapContextCreate(nil, imageSize.width, imageSize.height, 8, imageSize.width * 4, CGColorSpaceCreateDeviceRGB(), kCGImageAlphaNoneSkipFirst) 

Cuando ejecuto mi aplicación normalmente funciona. Pero cuando lo ejecuto en mi 'aplicación de prueba' (una aplicación en ejecución que llevará a cabo mis pruebas) el contexto se registra como (null) y consigo los siguientes errores:

<Error>: CGContextSetFillColorWithColor: invalid context 0x0 
<Error>: CGContextFillRects: invalid context 0x0 
<Error>: CGContextDrawImage: invalid context 0x0 
<Error>: CGContextDrawImage: invalid context 0x0 
<Error>: CGBitmapContextCreateImage: invalid context 0x0 

Mi aplicación no se cae. Pero aparentemente hay algo mal. (Sé que los errores se crean llamando a esos métodos con un contexto nulo).

Respuesta

7

Este error suele aparecer cuando el tamaño del mapa de bits que intenta crear es CGSizeZero. Verifique el valor real de imageSize.

Además, pierde el CGColorSpaceRef que pasa a la función.

0

¿Verifica que el valor de retorno de CGBitmapContextCreate sea nulo? Obtendrá un valor nulo si no hay suficiente memoria disponible en el dispositivo para crear el contexto.

¿Cuánta memoria está usando en la aplicación y para qué tamaño de mapa de bits está preguntando?

Cuestiones relacionadas