我有两个 UIImageView,第一个在第二个之上。我想用画笔擦除第一张图像的一部分(画笔是具有软边缘的 png 图片),以使第二张图像的一部分可见。
我是通过这种方式做到的:
1) 触摸移动 and [self setNeedsDisplayInRect:[self BrushRectForPoint:touch_location]];
2) at (void)drawRect:(CGRect)矩形 I call [_brush drawAtPoint:touch_location BlendMode:kCGBlendModeDestinationOut alpha:1];
工作正常,但是频率触摸移动还不够,如果用户移动手指太快,那么我会得到很多短线(甚至点)而不是一条长线。
我找到了 UIBezierPath 的信息和example但作者只是按路径画线:
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextAddPath(context, path);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineWidth(context, self.lineWidth);
CGContextSetStrokeColorWithColor(context, self.lineColor.CGColor);
CGContextStrokePath(context);
如何使用 UIBezierPath 绘制 png 画笔?
我需要这样的东西
多谢!
有一个开源项目对您有用..iOS-Scratch-n-See。班级ImageMaskView研究起来会很有趣。
希望有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)