“Masking” an animation? iPhone SDK

后端 未结 2 466
误落风尘
误落风尘 2021-01-01 05:13

I have been looking into ways of masking images on the iPhone. I came across this solution

http://iosdevelopertips.com/cocoa/how-to-mask-an-image.html

which

2条回答
  •  不思量自难忘°
    2021-01-01 05:32

    I haven't tried this for performance, but you can use a Core Animation layer as a mask. You can define a path to use in a CAShapeLayer and fill the shape. Then specify the layer mask of your UIImageView's layer. Something like:

    CGMutablePathRef path = CGPathCreateMutable();
    // build the path by adding points
    // ...
    
    CAShapeLayer *shapeLayer = [[CAShapeLayer alloc] init];
    [shapeLayer setPath:path];
    [shapeLayer setFillColor:[[UIColor blackColor] CGColor]];
    // Set shape layer bounds and position
    // ...
    
    // Set the mask for the image view's layer
    [[imageView layer] setMask:shapeLayer];
    

    Keep in mind that this isn't actually creating a new image as the link you reference does. This just creates a mask for display over top of your image view--which may not be what you want.

提交回复
热议问题