我想使用任何关闭路径裁剪图像,如UIBezierPath.它可以在iPhone应用程序?

Gau*_*mar 5 iphone xcode image-processing objective-c ios

我想使用任何关闭路径(如UIBezierPath)在我的iPhone应用程序中裁剪图像.我知道有可能使用矩形,但我想要不同形状的裁剪.就像我使用触摸制作一个形状,并希望裁剪图像,以便如何实现.任何建议或帮助.提前致谢.

Vit*_*kyi 2

您可以使用 shapelayer 裁剪图像。为此,您必须创建一条路径作为新图像的边框。你应该看看这个问题

CALayer* contentLayer = [CALayer layer];
[contentLayer setFrame:CGRectMake(0, 0, 80, 80)];
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];
Run Code Online (Sandbox Code Playgroud)

像这样的东西。