2

谁能指导我如何在 ImageView 组件上显示的图像上放置不同的绘图层。基本上我想在我的绘图应用程序中实现撤消和重做功能。

目前我可以在图像上放置文本或绘图,但无法实现撤消/重做功能。我想知道这可以通过维护一些分层的东西来实现。

请帮帮我。

这是我当前的绘图代码..

    try {

        image.buildDrawingCache();
        Bitmap bitmap = image.getDrawingCache();

        try

        {

            bitmap = getResizedBitmap(bitmap, image.getHeight(),
                    image.getWidth());

        } catch (OutOfMemoryError e) {
            Toast.makeText(getApplicationContext(), e.getMessage(), 1)
                    .show();
        }

        TextPaint tp = new TextPaint();
        tp.setColor(Color.GREEN);
        tp.setAntiAlias(true);
        tp.setTextSize(30);

        Canvas canvas = new Canvas(bitmap);
        canvas.drawText(input.getText().toString(), xPos, yPos, tp);
        image.setImageBitmap(bitmap);

        input.setText("");
        input.setVisibility(View.INVISIBLE);

    } catch (Exception e) {

        Toast.makeText(getApplicationContext(), e.getMessage(), 1).show();
    }

提前致谢...!!!

4

2 回答 2

2

以另一种方式完成。创建原始位图并将其保存在某个位图变量中。现在,在每次 onDraw 调用时,都会使用原始的位图启动位图并将其传递给画布。然后做你想做的事。。

于 2011-09-29T18:52:54.807 回答
0

从 Android 尝试 LayerDrawable

http://developer.android.com/guide/topics/resources/drawable-resource.html#LayerList

于 2011-09-08T09:31:19.883 回答