2009-10-23 7 views
0

Je possède ce code:CGImageRef et dessin des couches

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

Plus tard, je charge qui CGImageRef dans un UIImage de cette façon:

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

Je voudrais dessiner un cercle sur cette image. Le point est le mouvement du cercle, il doit donc être supprimé et redessiné. Je suppose que la meilleure façon d'y parvenir est avec les calques, donc ma question est: comment puis-je ajouter une couche à ce code et dessiner un cercle dessus? Comment puis-je réinitialiser le calque et redessiner ce cercle?

Merci!

Répondre

0

Vous devez utiliser une UIImageView, puis ajouter une couche distincte à cette vue. Si votre calque [cercle] se déplace, définissez sa propriété de position sur le nouveau centre; le système de vue prendra soin de tout recomposer. Pour que votre cercle apparaisse dans la couche, vous pouvez soit utiliser une image fixe, sous-classe CALayer et remplacer drawInContext :, soit définir le délégué et implémenter drawLayer: inContext :.