首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Android中实现绘图应用程序的橡皮擦

如何在Android中实现绘图应用程序的橡皮擦
EN

Stack Overflow用户
提问于 2012-02-13 09:27:15
回答 2查看 5K关注 0票数 1

我整个晚上都在寻找一些方法来实现我的绘图应用程序的橡皮擦功能。最常见的答案是简单地在中绘制背景颜色或图像,但这种解决方案不适用于我的应用程序,因为我实现了多个图层(Gimp/Photoshop样式)。

用户应该能够使用画笔工具在任意多个图层中绘制一条直线(我的绘图视图的onDraw方法在每个图层上绘制layer0...layerX )。然后,如果他们选择橡皮擦工具,它应该会使当前图层的任何区域变得透明。

我似乎找不到合适的内置类/函数,也不确定如何自己编写它。我试着做一些像这样的事情

代码语言:javascript
代码运行次数:0
运行
复制
Paint paint = new Paint();
paint.setAlpha(0);

然后使用该Paint对象进行绘制,但这只会绘制一条“不可见”的线。

我还尝试使用

代码语言:javascript
代码运行次数:0
运行
复制
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));

但这似乎是正常的,没有效果。我可能没有正确地使用它,但Android文档并没有对它的功能进行清晰的描述。我只是碰巧在一些修改位图的例子中看到了它。

我可以提供所需的代码,我只是不确定什么将有助于解决我的问题。被指出正确的方向将是最大的帮助,因为我在谷歌没有成功。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-09 09:15:32

你可以在这个链接上找到橡皮擦功能的实现,创建新的画布,画笔功能和保存功能:

create android drawing interface

这是一个非常好的教程,在android上使用运动事件制作绘图应用程序。

票数 2
EN

Stack Overflow用户

发布于 2012-02-13 15:23:43

查看此演示:FingerPaint.java

您将了解如何实现画布的橡皮擦。

好好享受吧。:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9254528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档