ios 使用 Stroke 制作 Masked BlurView

ios making Masked BlurView with Stroke

我有一个小问题我想在半透明且 png 具有透明区域的 png 图像上制作自定义形状模糊,然后在图像周围绘制笔触(避免 png 图像中的透明区域) ). 我尝试使用 GPUImage 在图像上制作蓝色,但我在围绕图像的非透明部分绘制笔划时被阻止。 我尝试使用此方法 () 但是笔划是半透明的(因为图像不透明部分是半透明的)。

我需要你的帮助来完成这件事。 这个例子几乎就是我的意思

http://i.stack.imgur.com/YdITu.png

我花了很多时间搜索和尝试,但到目前为止都是徒劳的,我将非常感谢你的帮助。 谢谢。

您可以使用"CAShapeLayer" 来裁剪(或屏蔽)模糊图像。为此,您需要遮罩(或剪裁)形状的 CGPath。

CAShapeLayer *pathLayer = [CAShapeLayer layer];
pathLayer.frame=CGRectMake(-imageView.frame.origin.x, -imageView.frame.origin.y, imageView.frame.size.width, imageView.frame.size.height);
pathLayer.path = yourClippingPath.CGPath;
pathLayer.strokeColor = [[UIColor blackColor] CGColor];
pathLayer.fillColor = [[UIColor clearColor] CGColor];
pathLayer.lineWidth = 6.0;
pathLayer.lineJoin = kCALineJoinBevel;
[imageView.layer addSublayer:pathLayer];