擦除和Unerase图像

时间:2009-09-05 07:13:43

标签: iphone

我有两个重叠的图像。如果我擦除上面图像的一部分,则该特定部分被擦除并且应该出现下面的图像。但是,如果我删除该特定部分,它应该会让我回到该图像的已删除部分。

我不需要撤消功能,但只应显示已删除的部分。

以下是我用来删除上图的代码:

关于touchesMoved事件:

UIGraphicsBeginImageContext(frontImage.frame.size);
[frontImage.image drawInRect:CGRectMake(0, 0, frontImage.frame.size.width, frontImage.frame.size.height)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(),kCGImageAlphaNone); //kCGImageAlphaPremultipliedLast);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 10);
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 1, 0, 0, 10);
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
//this line code for erasing select the part of the image
CGContextClearRect (UIGraphicsGetCurrentContext(), CGRectMake(lastPoint.x, lastPoint.y, 10, 10)); 
//End the code
CGContextStrokePath(UIGraphicsGetCurrentContext());
frontImage.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

请帮我解决这个问题。

提前谢谢大家

1 个答案:

答案 0 :(得分:1)

为什么不修改图像那部分的alpha,而不是擦除。然后当你想要它时,你修改alpha背面。

否则,您应该在删除底部图像时恢复整个上部图像。