Core Animation Snippets

by Matt Long

Here are some snippets to help with performing different tasks using Core Animation.

Images

  • Convert NSImage to CGImageRef
    - (CGImageRef)nsImageToCGImageRef:(NSImage*)image;
    {
        NSData * imageData = [image TIFFRepresentation];
        CGImageRef imageRef;
        if(!imageData) return nil;
        CGImageSourceRef imageSource = CGImageSourceCreateWithData((CFDataRef)imageData, NULL);
        imageRef = CGImageSourceCreateImageAtIndex(imageSource, 0, NULL);
        return imageRef;
    }
    

Scaling

  • Scale Up Five Times
    CATransform3D transform = CATransform3DMakeScale(5.0f, 5.0f, 5.0f);
    [layer setTransform:transform];
    
  • Scale Down to Half Size
    CATransform3D transform = CATransform3DMakeScale(0.5f, 0.5f, 0.5f);
    [layer setTransform:transform];