CGImageRef et calques de dessin
-
06-07-2019 - |
Question
J'ai ce code:
CGDataProviderRef provider = CGDataProviderCreateWithFilename([myFile UTF8String]);
CGImageRef img = CGImageCreateWithJPEGDataProvider(provider, NULL, true, kCGRenderingIntentDefault);
Plus tard, je charge CGImageRef dans un UIImage de la manière suivante:
UIImage *uiImage = [[UIImage alloc] initWithCGImage:destImage];
J'aimerais dessiner un cercle sur cette image. Le point est le cercle se déplace donc il doit être supprimé et redessiné. J'imagine que la meilleure façon de procéder consiste à utiliser des calques; ma question est donc: comment puis-je ajouter un calque à ce code et y tracer un cercle? Comment puis-je réinitialiser le calque et redessiner ce cercle ultérieurement?
Merci!
La solution
Vous voudrez utiliser un UIImageView, puis ajouter un calque séparé à cette vue. Si votre calque [cercle] se déplace, définissez simplement sa propriété de position sur le nouveau centre; le système de visualisation se chargera de tout recomposer.
Pour que votre cercle apparaisse dans la couche, vous pouvez utiliser une image fixe, une sous-classe CALayer et redéfinir drawInContext :, ou définir le délégué et implémenter drawLayer: inContext:.