Iphone 擦除和取消擦除图像

Iphone 擦除和取消擦除图像,iphone,Iphone,我有两个重叠的图像。如果我擦除上面图像的一部分,该特定部分将被擦除,并且基础图像将出现。但是,如果我清除了那个特定的部分,它应该会把图像中被擦除的部分还给我 我不需要撤销功能,但应该只显示已擦除的部分 以下是我用来擦除上述图像的代码: 触控移动事件: UIGraphicsBeginImageContext(frontImage.frame.size); [frontImage.image drawInRect:CGRectMake(0, 0, frontImage.frame.size.widt

我有两个重叠的图像。如果我擦除上面图像的一部分,该特定部分将被擦除,并且基础图像将出现。但是,如果我清除了那个特定的部分,它应该会把图像中被擦除的部分还给我

我不需要撤销功能,但应该只显示已擦除的部分

以下是我用来擦除上述图像的代码:

触控移动事件:

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();
请帮我解决这个问题


提前感谢大家

与其擦除,不如修改图像该部分的alpha。然后,当你想要它回来,你修改阿尔法回来


否则,当底部图像被擦除时,您应该恢复整个上部图像。

与其擦除,不如修改图像该部分的alpha。然后,当你想要它回来,你修改阿尔法回来


否则,当底部图像被擦除时,您应该恢复整个上部图像。

修改该图像部分的alpha是个好主意,但我们如何修改选定或触摸图像部分的alpha值?你知道怎么做吗?请帮助我。从图像或图层中获取位图,请参见,然后快速浏览位图以找到接触点。然后播放周围像素的alpha值。等等,可能有更好的方法可以做到这一点,比如使用适当的混合模式在顶部绘制另一幅图像,以获得所需的alpha值。我希望stackoverflow能够更好地让您知道有人在评论中提出了问题。我只是碰巧回来看看。两周后。将CGContextClipToMask视为修改alpha层的一种方法。修改图像该部分的alpha是个好主意,但我们如何修改选定或触摸图像部分的alpha值?你知道怎么做吗?请帮助我。从图像或图层中获取位图,请参见,然后快速浏览位图以找到接触点。然后播放周围像素的alpha值。等等,可能有更好的方法可以做到这一点,比如使用适当的混合模式在顶部绘制另一幅图像,以获得所需的alpha值。我希望stackoverflow能够更好地让您知道有人在评论中提出了问题。我只是碰巧回来看看。两周后。参见CGContextClipToMask作为修改alpha层的一种方法。