1

画像に描画しようとしている次の方法があります。

- (UIImage*) renderImage
{
    UIGraphicsBeginImageContextWithOptions(self.size, NO, 0);
    CGContextRef context = UIGraphicsGetCurrentContext();
    //drawing code

    UIImage *image = [UIGraphicsGetImageFromCurrentImageContext() retain];
    UIGraphicsEndImageContext();  
    return [image autorelease];    
}

このコードを実行すると、単純にこのコードdrawRectUIView. ここで間違ったグラフィックス コンテキスト (つまりCGContextRef context = UIGraphicsGetCurrentContext();) に描画していますか? それともUIGraphicsGetImageFromCurrentImageContext、描画よりもはるかに高価drawRectですか?

4

1 に答える 1

0

主な違いは、作成するコンテキストにはオフスクリーン レンダリングが必要であり、-drawRect で作成されるコンテキストとは異なることです。したがって、イメージを解放するまでヒープに追加のメモリを追加しています。

于 2012-11-01T11:00:09.387 に答える