Android 清除画布上绘制的位图

Posted

技术标签:

【中文标题】Android 清除画布上绘制的位图【英文标题】:Android Clear drawn bitmap on canvas 【发布时间】:2012-10-29 16:51:11 【问题描述】:

我已按照本教程 (http://www.mysamplecode.com/2011/11/android-capture-signature-using-canvas.html) 使用画布捕获签名,没关系。

我对代码进行了一些改进,将签名保存为 Base64 字符串,也可以 我想将字符串“重新加载”回 Canvas 并使用以下代码:

    @Override
    protected void onDraw(Canvas canvas) 
    
        canvas.drawBitmap(StringToBitMap(x), 0, 0, paint); // x = Base64 String PNG
        canvas.drawPath(path, paint);
    

我可以看到加载的签名,我可以在上面画一些东西,但我无法清除加载的签名,即使它们在加载的签名上,它也会清除我所有的绘制,但我无法清除加载的签名。我用来清除的代码是:

    public void clear() 
    
        path.reset();
        invalidate(); 
    

【问题讨论】:

【参考方案1】:

试试这个:

public void clear() 
    if (canvas != null) 
        canvas.drawColor(Color.WHITE);
        mPath.reset();
        invalidate();
    

【讨论】:

以上是关于Android 清除画布上绘制的位图的主要内容,如果未能解决你的问题,请参考以下文章

“画布:Android Studio中试图绘制太大的位图”问题

如何让用户在Android中随意绘制长画布?

Android Canvas:绘制太大的位图

Android在画布上操纵图像 - 使用触摸,移动,放大/缩小,缩放

旋转位图矩阵 - Android

在 Android 中通过画布创建一个空位图并进行绘图