我有两个重叠的图像。如果我擦除上面图像的一部分,则该特定部分被擦除并且应该出现下面的图像。但是,如果我删除该特定部分,它应该会让我回到该图像的已删除部分。
我不需要撤消功能,但只应显示已删除的部分。
以下是我用来删除上图的代码:
关于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();
请帮我解决这个问题。
提前谢谢大家
答案 0 :(得分:1)
为什么不修改图像那部分的alpha,而不是擦除。然后当你想要它时,你修改alpha背面。
否则,您应该在删除底部图像时恢复整个上部图像。