Frage

Ich habe diesen Code:

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

Später ich lade, dass CGImageRef in einem UIImage auf diese Weise:

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

Ich möchte einen Kreis über dieses Bild zeichnen. Der Punkt ist der Kreis bewegt, so hat sie gelöscht und neu gezeichnet werden. Ich denke, der beste Weg, dies zu erreichen, mit Schichten ist so meine Frage ist: Wie kann ich eine Schicht zu diesem Code hinzufügen und einen Kreis auf sie zieht? Wie kann ich später die Schicht zurückgesetzt und den Kreis neu zu zeichnen?

Danke!

War es hilfreich?

Lösung

Sie wollen eine UIImageView verwenden, und dann eine separate Schicht zu dieser Ansicht hinzuzufügen. Wenn Ihre Schicht [Kreis] bewegt, stellt nur seine Position-Eigenschaft auf das neue Zentrum; das Ansichtssystem kümmert sich um Re-Compositing alles.

Ihren Kreis Um in der Lage zu zeigen, können Sie entweder eine feste Bild, Unterklasse CALayer und außer Kraft setzen drawInContext :, oder die Delegaten festgelegt und implementieren drawLayer: InContext:.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top