使用UIBezierPath绘制线条简单的应用程序,但现在需要一种方法来擦除用UIBezierPath绘制的线条。有没有一种方法来实现删除线条画的橡皮擦功能?使用UIBezierPath擦除绘制线条
2
A
回答
6
如果使用图片作为背景,那么你可以设置相同的图像作为画笔图案绘制bezierpath它会在无形中给你橡皮擦效果。这个对我有用。 :)
brushPattern=[[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"image.jpg"]];
// Here image.jpg is you background image
0
橡皮擦有效地绘制了一条线,该线与目前为止绘制的每条路径上的背景颜色相同。您可能需要注意,它是某个橡皮擦线,以便您可以更新橡皮擦线的笔触颜色(如果背景颜色发生变化),否则您将失去擦除错觉。
0
根据你对Jeremy的回答的评论,你似乎在试图做虚线。你是否尝试过使用setLineDash:count:phase:
UIBezierPath *path = [UIBezierPath new];
CGFloat dashArray[3];
dashArray[0] = 8;
dashArray[1] = 3;
dashArray[2] = 8;
[path setLineDash:dashArray count:dashCount phase: 0.0];
苹果有此示例代码:http://developer.apple.com/library/mac/#samplecode/BezierPathLab/Introduction/Intro.html
1
if(erase)
{
[myPath strokeWithBlendMode:kCGBlendModeClear alpha:1.0f];
}
else
{
[myPath strokeWithBlendMode:kCGBlendModeNormal alpha:1.0f];
}
相关问题
- 1. 用UIBezierPath绘制一条线
- 2. 用触摸绘制和擦除线条
- 3. 绘制形状时线条被擦除
- 4. 使用UIBezierPath绘制圆角使用UIBezierPath
- 5. 完全擦除UIBezierPath&CAShapeLayer绘制的项目
- 6. 如何拉伸使用UIBezierPath绘制的线条?
- 7. 如何擦除在uiimageview上绘制的线条?
- 8. 如何在绘制线条时避免背景擦除?
- 9. 使用CGContext绘制线条
- 10. 使用UIPinchGeustureRecognizer绘制线条
- 11. 使用asp.net绘制线条
- 12. 使用CGPath绘制线条
- 13. 删除UIBezierPath绘图?
- 14. 使用UIBezierPath绘制六边形
- 15. 在swift中使用UIBezierPath绘制形状
- 16. 是否有可能绘制虚线,而无需使用UIBezierPath
- 17. 如何使用条件擦除一条线?
- 18. 使用CGContext绘图后擦除
- 19. OpenGL:用VBO绘制线条
- 20. 用GLSL绘制线条
- 21. 如何使用UIBezierPath制作曲线?
- 22. 在线上擦除多个条目
- 23. 绘制饼图与UIBezierPath
- 24. 如何用两条斜线绘制一条线使用python
- 25. 使用坐标绘制一条线
- 26. 使用ggplot绘制几条“数字”线
- 27. 使用iOS图表绘制多条线
- 28. 如何使用SVG绘制线条?
- 29. 如何使用XNA绘制线条?
- 30. 在Android上使用surfaceView绘制线条
感谢您的答复。如果我的背景是纹理图像会怎么样?有没有办法抹掉这条线? – TonyTakeshi 2011-05-30 14:54:55
我正在做这件事。有人可能已经解决了这个问题,并且更好。但是,您也可以根据需要执行路径拆分来执行删除操作。其基本思想是,在划线上画一条橡皮擦线应该将该线划分为两条线,从而在橡皮擦处留下间隙。这两条线应与原始单线位于绘图顺序中的相同位置。 – 2011-05-30 15:04:35
@Jeremy,我的背景有纹理,我不知道如何绘制与背后的纹理图案相匹配的线条。任何这方面的参考?谢谢 – TonyTakeshi 2011-05-30 16:38:07