Android-从drawText()方法绘制的画布中删除文本

时间:2016-08-25 06:46:52

标签: java android android-canvas

作为我项目的一部分,我正在创建一个基本的绘图应用程序。我使用Canvas和Bitmap绘制线条,形状和文本。现在我正在实现撤销功能。我使用以下方法实现它。

撤消功能

public void onClickUndo() {
    if (paths.size() > 0) {
        undonePaths.add(paths.remove(paths.size() - 1));
        invalidate();
    }
}

onDraw()方法

protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.drawBitmap(mBitmap, 0, 0, canvasPaint);
    canvas.drawPath(mPath, drawPaint);

    for (Path p: paths) {
        int curColor = colorsMap.get(p);
        drawPaint.setColor(curColor);
        canvas.drawPath(p, drawPaint);
    }
}

其中paths是用于保存路径的列表,colorsMap是用于保存路径及其颜色的地图。使用path.addCircle()path.lineTo()函数绘制线条和其他形状,以便将路径添加到路径列表中。

我正在使用drawText()方法编写文本。所以我无法将其添加到路径列表中。

我的问题是,是否有任何方法可以将文本绘制为路径或将文本转换为路径,以便将其添加到paths列表中? 或撤消所写文字的其他方法?

0 个答案:

没有答案