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 に答える