我有一个小问题。
我正在为iPhone制作绘画/绘图应用程序。在我的应用程序中,您可以使用背景和照片进行绘制。但我无法找到橡皮擦的解决方案。因为大多数橡皮擦样品都是白色涂料。因此,在非白色背景上,它只是制作白色"线"。任何(一种)透明橡皮擦的解决方案,只能擦除画线"线条#34;而不是背景?
Thnx的帮助!
答案 0 :(得分:0)
除了使用白色涂料的kCGBlendModeNormal混合模式绘制外,您还需要在橡皮擦打开时使用kCGBlendModeDestinationOut进行绘制。 (这假设背景位于绘图层后面的图层中。)
例如:
<pre>
if (eraser == TRUE) // Erase to show background
{
CGContextSetBlendMode(UIGraphicsGetCurrentContext(), kCGBlendModeDestinationOut);
}
else // Draw with color
{
CGContextSetBlendMode(UIGraphicsGetCurrentContext(),kCGBlendModeNormal);
}
</pre>
您可能还希望查看此CGBlendMode参考,该参考显示不同混合类型的效果,包括解释,最初发布于:http://ericasadun.com/CookbookTest/Blending.pdf
文档的替代链接:http://www.docdroid.net/xt0b/blending-kcgblendmode.pdf.html