2011-09-08 5 views
2

Est-ce que n'importe qui peut me guider comment puis-je mettre différents calques de dessin sur une image qui est affichée sur le composant ImageView. Fondamentalement, je veux implémenter Undo et Redo Functionality dans mon application de dessin.Dessiner des calques sur ImageView dans Android

Actuellement, je peux mettre du texte ou dessiner sur l'image, mais je ne peux pas obtenir la fonction Annuler/Rétablir. Je me demande si cela peut être possible en conservant certaines choses en couches.

Plz aidez-moi.

ceci est mon code de dessin courant ..

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

merci à l'avance ... !!!

Répondre

2

Fait d'une autre manière. Créer un bitmap original et l'enregistrer dans une variable bitmap. Maintenant, à chaque appel onDraw, lancez un bitmap avec un seul et passez-le à canvas. Alors faites ce que vous voulez faire ..

+0

pouvez-vous partager l'exemple de code de cela? – HourGlass

+1

Il a été l'âge maintenant, je vais chercher du code et je vais vous aider si trouvé. –

+0

merci beaucoup ... – HourGlass