【问题标题】:How difficult to creat a simple eraser effect on core animation or core graphic?在核心动画或核心图形上创建简单的橡皮擦效果有多难?
【发布时间】:2011-12-09 06:32:28
【问题描述】:

您好,我想创建一个橡皮擦动画或核心图形,看起来像是擦掉当前内容并在我点击视图或按钮时在 uibutton 上添加新内容。

做起来难吗?有教程或网页链接来说明如何做吗?

【问题讨论】:

    标签: iphone ios xcode core-animation core-graphics


    【解决方案1】:

    您好,我们可以在我们的应用中使用此橡皮擦功能和核心动画,如下所示:

            CGPoint currentPoint = [touch locationInView:imgBlankView];
    
            UIGraphicsBeginImageContext(self.view.frame.size);
            [imgBlankView.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, imgBlankView.frame.size.height)];
    
            CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
            CGContextSetLineWidth(UIGraphicsGetCurrentContext(),lineWidth);
            CGContextSetBlendMode(UIGraphicsGetCurrentContext(), kCGBlendModeClear);
    
            CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), red, green, blue, 1.0);
            CGContextBeginPath(UIGraphicsGetCurrentContext());  
            CGContextSetShouldAntialias(UIGraphicsGetCurrentContext(), YES);
    
            CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint1.x, lastPoint1.y);
            CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
            CGContextStrokePath(UIGraphicsGetCurrentContext());
            imgBlankView.image = UIGraphicsGetImageFromCurrentImageContext();
    
            UIGraphicsEndImageContext();
            lastPoint1 = currentPoint;
    

    使用此代码擦除您使用核心动画(如圆形、矩形或任何 CALayer 绘制的溺水),如使用此代码溺水。

    将此代码放入您的触摸移动方法中,并根据用户触摸视图擦除该代码,享受该代码的擦除功能。

    【讨论】:

    • 感谢 Dhanesh,您的快速回复...对按钮有效吗?...我将点击按钮,动画将删除图像或视图并替换为另一个图像。
    • 你能详细描述一下你在视图或图像上画了什么吗?
    • 感谢 Dhanesh 的回复。我不太擅长解释,我附上了一张图片来解释..每当用户点击按钮或图像时,我想要一个橡皮擦效果,它将擦除当前图像并替换另一个图像..
    • k 所以你有图像 6 和 2 或者你可以用 2 替换 6 看起来像它擦除旧图像并为它使用淡入淡出动画在它简单可用的图像视图上绘制新图像在谷歌上或以其他方式检查此链接iphonesdksnippets.com/post/2009/03/10/Animate-fade-inout.aspx
    • 是一组图片,会擦除并更改为另一个。是链接到身体结构以混合和匹配设计...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多