gpt4 book ai didi

iOS 在 drawRect 中反转蒙版

转载 作者:IT王子 更新时间:2023-10-29 07:58:32 25 4
gpt4 key购买 nike

使用下面的代码,我成功地屏蔽了我的部分绘图,但这与我想要屏蔽的相反。这会遮盖绘图的内部,而我想遮盖外部。有没有简单的方法来反转这个掩码?

myPath 下面是一个 UIBezierPath

CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
CGMutablePathRef maskPath = CGPathCreateMutable();
CGPathAddPath(maskPath, nil, myPath.CGPath);
[maskLayer setPath:maskPath];
CGPathRelease(maskPath);
self.layer.mask = maskLayer;

最佳答案

在形状层上使用偶数填充 (maskLayer.fillRule = kCAFillRuleEvenOdd;),您可以添加一个覆盖整个框架的大矩形,然后添加您要遮盖的形状。这实际上会反转掩码。

CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
CGMutablePathRef maskPath = CGPathCreateMutable();
CGPathAddRect(maskPath, NULL, someBigRectangle); // this line is new
CGPathAddPath(maskPath, nil, myPath.CGPath);
[maskLayer setPath:maskPath];
maskLayer.fillRule = kCAFillRuleEvenOdd; // this line is new
CGPathRelease(maskPath);
self.layer.mask = maskLayer;

关于iOS 在 drawRect 中反转蒙版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14411765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com