2010-01-09 13 views
10

Ich habe einige benutzerdefinierte, CoreAnimation-basierte Benutzeroberfläche. Ich würde gerne das Mausziehen bestimmter CALayers implementieren und ich möchte ein Bild der gezogenen Ebene an den Cursor kleben. Das Problem ist, dass ich den CALayer (der nicht auf image/.contents basiert) nicht in ein Bild irgendeiner Art - wie CGImageRef oder NSImage - bringen kann. Irgendwelche Ideen?Wie wird CALayer in CGImageRef gespeichert?

Antwort

10

CALayer hat eine renderInContext: Methode, die eine CGContextRef akzeptiert.
Nach dem Rendern in den Kontext können Sie eine CGImageRef erhalten, indem Sie CGBitmapContextCreateImage(CGContextRef context) aufrufen.

Ich habe bereits eine ähnliche Frage here beantwortet.