【问题标题】:How to start fresh on canvas ?如何在画布上重新开始?
【发布时间】:2012-12-05 15:46:47
【问题描述】:

在我的应用程序中,我在画布上绘制了很多东西。 在我绘制新图形之前,我想删除所有以前的图形并重新开始。

换句话说,我想执行一个 NEW 操作,就像我们在 MS-Paint 中使用新的画布一样,上面没有任何东西。

我怎样才能实现这样的功能? 请帮忙。

【问题讨论】:

  • 您可以通过使位图为空来删除当前在屏幕上的位图,或者创建一个新的画布并且在其后不放置任何绘制命令。我想这也取决于您的代码如何,因为我已经设置了一种方法来清除屏幕上的图像

标签: android canvas


【解决方案1】:

最好的方法是在整个画布上绘制所需的起始颜色。 如果你想清楚,就像原来一样。

myCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);

或者如果你想要像 MSPaint 这样的白色背景

myCanvas.drawColor(Color.WHITE); // Will accept any color.

【讨论】:

    【解决方案2】:

    如果你想清除画布,你可以这样做:

                protected void onDraw(Canvas canvas) {
    
                        ...
                        canvas.drawBitmap(fundo, 0, 0, null);
                        ...
    

    在这种情况下,我再次绘制背景场景,但您也可以使用“清除”画布

    Canvas.drawColor(Color.BLACK)
    

    请看这个post

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-10
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多