CAShapeLayer裁剪图像
我正在尝试使用此代码使用CAShapeLayer裁剪图像
CALayer* contentLayer = [CALayer layer]; CAShapeLayer* mask = [CAShapeLayer layer]; CGMutablePathRef path = CGPathCreateMutable(); CGPathMoveToPoint(path, NULL, 10, 10); CGPathAddLineToPoint(path, NULL, 10, 80); CGPathAddLineToPoint(path, NULL, 80, 80); CGPathAddLineToPoint(path, NULL, 80, 10); mask.path = path; [contentLayer setContents:(id)[[UIImage imageNamed:@"image.png"] CGImage]]; [contentLayer setMask:mask]; [[self layer]addSublayer:contentLayer];
执行此操作后,我只能看到空视图;
您从未设置contentLayer
的frame
,因此它默认为CGRectZero
,这使其内容不可见。 将框架设置为具有图像的大小,您应该看到它。