2011-09-08 80 views
2

任何人都可以引导我如何在显示在ImageView组件上的图像上放置不同的图层。 基本上我想在我的绘图应用程序中实现撤消和重做功能。在Android中通过ImageView绘制图层

目前我可以把文字或图画放在图像上,但不能实现撤销/重做功能。我想知道这可以通过维护一些分层的东西来实现。

Plz帮助我。

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

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(); 
    } 

感谢...!

回答

2

以另一种方式完成它。 创建orignal位图并将其保存在一些位图变量中。现在,在每个onDraw调用中启动一个带有orignal的位图并将其传递给画布。然后做你想做的事情。

+0

你能分享这个示例代码吗? – HourGlass

+1

现在已经过时了,我会寻找代码,如果发现,它会帮助你。 –

+0

非常感谢... – HourGlass

0

尝试LayerDrawable于Android

​​