用CGContext绘图后擦除

Lin*_*sey 8 drawing objective-c cgcontext ipad ios

我正在尝试为iPad绘制一个简单的绘图应用程序,你可以在图片上绘图,我正在使用CGContext的东西来做,但我最初计划处理擦除的方式是用白色绘制的东西. .除了我刚才意识到当你画到另一张图像时它不起作用,因为当你"擦除"时你也会"擦除"背景图像.

有没有办法支持实际擦除?

谢谢!

Ede*_*den 21

我还需要擦除功能.根据@ Jeremy的回答,这对我有用:

CGContextRef cgref = UIGraphicsGetCurrentContext();

if(erase == TRUE) // Erase to show background
{
    CGContextSetBlendMode(cgref, kCGBlendModeClear);
}
else // Draw with color
{
    CGContextSetBlendMode(cgref, kCGBlendModeNormal);
}
Run Code Online (Sandbox Code Playgroud)

  • 首先,我将通过 Ray Wenderlich 的教程来创建一个简单的绘图应用程序。一切正常,但是当我将混合模式更改为 kCGBlendModeClear 时,它所做的就是在调用结束后擦除整个画布。有什么想法吗? (2认同)

Jer*_*man 4

在图像上方的图层中显示用户的绘图。然后擦除就像在绘图层上绘制透明补丁一样简单,以便让其下面的图像像素显示出来。