Xcode-CGContext-橡皮擦绘画应用程序“transparant”背景橡皮擦

Xcode-CGContext-橡皮擦绘画应用程序“transparant”背景橡皮擦,xcode,cgcontext,Xcode,Cgcontext,我有一个小问题 我正在为iPhone制作一个绘画/绘图应用程序。在我的应用程序中,你可以绘制背景和照片。但我找不到橡皮擦的解决办法。因为大多数橡皮擦样品都是白色油漆。因此,在非白色背景上,它只是制造白线。有没有一种透明橡皮擦的解决方案,它只擦除画线而不擦除背景 谢谢你的帮助 当橡皮擦打开时,您将希望使用kCGBlendModeDestinationOut进行绘制,而不是使用kCGBlendModeNormal与白色颜料的混合模式进行绘制。这假定背景位于图形图层后面的图层中 例如: <pre

我有一个小问题

我正在为iPhone制作一个绘画/绘图应用程序。在我的应用程序中,你可以绘制背景和照片。但我找不到橡皮擦的解决办法。因为大多数橡皮擦样品都是白色油漆。因此,在非白色背景上,它只是制造白线。有没有一种透明橡皮擦的解决方案,它只擦除画线而不擦除背景


谢谢你的帮助

当橡皮擦打开时,您将希望使用kCGBlendModeDestinationOut进行绘制,而不是使用kCGBlendModeNormal与白色颜料的混合模式进行绘制。这假定背景位于图形图层后面的图层中

例如:

<pre>
if (eraser == TRUE) // Erase to show background
{
   CGContextSetBlendMode(UIGraphicsGetCurrentContext(), kCGBlendModeDestinationOut);
}
else // Draw with color
{
   CGContextSetBlendMode(UIGraphicsGetCurrentContext(),kCGBlendModeNormal);
}
</pre>
您可能还想查看此CGBlendMode参考,它显示了不同混合类型的效果,包括解释,最初发布在:

文件的备选链接: