Domanda

Ho questo codice:

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

Successivamente carico quel CGImageRef in un UIImage in questo modo:

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

Vorrei tracciare un cerchio sull'immagine. Il punto è che il cerchio si sposta, quindi deve essere eliminato e ridisegnato. Immagino che il modo migliore per ottenere questo risultato sia con i livelli, quindi la mia domanda è: come posso aggiungere un livello a quel codice e tracciarne un cerchio? Come posso successivamente ripristinare il livello e ridisegnare quel cerchio?

Grazie!

È stato utile?

Soluzione

Ti consigliamo di utilizzare UIImageView, quindi aggiungere un livello separato a quella vista. Se il livello [cerchio] si sposta, basta impostare la proprietà position sul nuovo centro; il sistema di visualizzazione si occuperà di ricomporre tutto.

Per far apparire la tua cerchia nel layer, puoi usare un'immagine fissa, sottoclassare CALayer e sovrascrivere drawInContext: oppure impostare il delegato e implementare drawLayer: inContext :.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top