2011-05-30 141 views

回答

6

如果使用图片作为背景,那么你可以设置相同的图像作为画笔图案绘制bezierpath它会在无形中给你橡皮擦效果。这个对我有用。 :)

brushPattern=[[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"image.jpg"]]; 
    // Here image.jpg is you background image 
0

橡皮擦有效地绘制了一条线,该线与目前为止绘制的每条路径上的背景颜色相同。您可能需要注意,它是某个橡皮擦线,以便您可以更新橡皮擦线的笔触颜色(如果背景颜色发生变化),否则您将失去擦除错觉。

+0

感谢您的答复。如果我的背景是纹理图像会怎么样?有没有办法抹掉这条线? – TonyTakeshi 2011-05-30 14:54:55

+0

我正在做这件事。有人可能已经解决了这个问题,并且更好。但是,您也可以根据需要执行路径拆分来执行删除操作。其基本思想是,在划线上画一条橡皮擦线应该将该线划分为两条线,从而在橡皮擦处留下间隙。这两条线应与原始单线位于绘图顺序中的相同位置。 – 2011-05-30 15:04:35

+0

@Jeremy,我的背景有纹理,我不知道如何绘制与背后的纹理图案相匹配的线条。任何这方面的参考?谢谢 – TonyTakeshi 2011-05-30 16:38:07

1
if(erase) 
{ 
    [myPath strokeWithBlendMode:kCGBlendModeClear alpha:1.0f]; 
} 
else 
{ 
    [myPath strokeWithBlendMode:kCGBlendModeNormal alpha:1.0f]; 
}