0

私はこのコードを持っています:

CGDataProviderRef provider = CGDataProviderCreateWithFilename([myFile UTF8String]);
CGImageRef img = CGImageCreateWithJPEGDataProvider(provider, NULL, true, kCGRenderingIntentDefault);

後で、そのCGImageRefをUIImageに次のようにロードします。

UIImage *uiImage = [[UIImage alloc] initWithCGImage:destImage];

その画像の上に円を描きたいのですが。ポイントは円が動くので、削除して再描画する必要があります。これを達成するための最良の方法はレイヤーを使用することだと思うので、私の質問は次のとおりです。そのコードにレイヤーを追加して、その上に円を描くにはどうすればよいですか?後でレイヤーをリセットしてその円を再描画するにはどうすればよいですか?

ありがとうございました!

4

1 に答える 1

0

UIImageViewを使用してから、そのビューに別のレイヤーを追加することをお勧めします。レイヤー[円]が移動する場合は、その位置プロパティを新しい中心に設定するだけです。ビューシステムがすべての再合成を処理します。

円をレイヤーに表示するには、固定画像を使用してCALayerをサブクラス化し、drawInContext:をオーバーライドするか、デリゲートを設定してdrawLayer:inContext:を実装します。

于 2009-10-23T14:17:56.127 に答える