2

我正在创建一个像白板应用程序这样的应用程序。我有一张动态图像。图像有多种颜色。我想在与白板相同的图像上画线,所以我在上面重叠了一个透明视图。现在我正在用选择的颜色画线,效果很好。

现在的问题是,当我在触摸屏幕时尝试擦除线条时,它应该显示像橡皮擦一样的效果。如果我有一些固定颜色(如白色)背景,那么对于擦除线条,我可以用背景颜色画一条线,但在这里我有透明的视图背景,所以我不能这样做。

我尝试用颜色绘制一条 alpha = 0 的线,但这并不反映任何东西,因为该线也是透明颜色。

我正在添加我的绘制矩形方法。

for (UIBezierPath *path in aryDrawPath) {       
    [[UIColor redColor] set];       
    [path stroke];
}

任何机构都可以帮我解决这个问题。

非常感谢

4

2 回答 2

2

如果背景中有图像,并且图像的大小和来源与白板绘图画布相同,则可以尝试使用背景图像作为颜色图案来绘制“擦除”线:

[[UIColor colorWithPatternImage:backgroundImage] set];

你在上面画backgroundImage的那个在哪里。UIImage

这将用下面的图像覆盖您绘制的线条,因此看起来它们已被擦除。不过,这似乎有点hacky?

于 2011-11-02T13:01:03.900 回答
1

您可以使用混合模式。使用 CGBlendMode..清除文档

于 2016-09-28T10:58:53.500 回答