2010-12-14 9 views
5

CGBitmapContextの作成に問題があります。iPhoneがCGBitmapContextを作成できない

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

通常、アプリケーションを実行すると動作します。しかし、私は、コンテキストは(ヌル)として記録され、私の「テストアプリケーション」(私のテストを実行します実行中のアプリ)でそれを実行して、私は次のエラーを取得するとき:

<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 

私のアプリケーションがクラッシュしません。しかし、明らかに何かが間違っています。 (私はエラーが無限のコンテキストでこれらのメソッドを呼び出すことによって作成されることを知っています)。

答えて

7

このエラーは、作成しようとしているビットマップのサイズがCGSizeZeroの場合によく表示されます。 imageSizeの実際の値を確認してください。

さらに、関数に渡すCGColorSpaceRefをリークします。

0

CGBitmapContextCreateの戻り値が非nilであることを確認していますか?コンテキストを作成するのに十分なメモリがデバイスにない場合は、ゼロの値を取得します。

あなたはどのくらいのメモリをアプリで使用していますか、どのサイズのビットマップを求めていますか?

関連する問題