2012-12-06 22 views
6
b2.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       setContentView(R.layout.new_main); 

       String editTextStr = text.getText().toString(); 
       Toast msg = Toast.makeText(getBaseContext(),"/sdcard/Stored_Images/" + editTextStr + ".jpg", Toast.LENGTH_LONG); 
       msg.show(); 

       Bitmap bmp = BitmapFactory.decodeFile("/sdcard/Stored_Images/" + editTextStr + ".jpg"); 
       ImageView img = (ImageView) findViewById(R.id.ImageView01); 
       img.setImageBitmap(bmp); 
      } 
     }); 

Il codice sopra mostra un'immagine sullo schermo che viene salvata sulla scheda SD.Android - Disegnare su un'immagine

Canvas c = holder.lockCanvas(); 
c.drawARGB(255,0,0,0); 
onDraw(c); 
holder.unlockCanvasAndPost(c); 

Questo codice crea una tela su cui disegnare (schermo nero).

Desidero essere in grado di combinare i due per impostare/visualizzare un'immagine come la tela in modo che possa disegnare su di essa. Quindi, se faccio una foto a qualcuno, voglio essere in grado di visualizzare quell'immagine in modo che possa disegnare un paio di baffi o qualcosa sopra.

risposta

4

Probabilmente stai meglio creando la tela, aggiungendo l'immagine bitmap e quindi gestendo il tocco/disegno dell'utente da lì.

Bitmap bmp = BitmapFactory.decodeFile("/sdcard/Stored_Images/" + editTextStr + ".jpg"); 
mCanvas = new Canvas(bmp); 

poi per il disegno ... suono come te hanno capito che, ma se non è possibile controllare la fingerPaint samples dalle demo api che dimostrano a matita su tela (che si dovrebbe avere la vostra immagine sul a . quel punto)

+0

Ho provato questo, ma ottengo un errore che dice: bitmap Immutabile passato al costruttore della tela di canapa. Ad ogni modo per aggirare questo? – homes

+1

Il link fornito non funziona più ma presumo che si tratti dello stesso campione: https://android.googlesource.com/platform/development/+/master/samples/ApiDemos/src/com/example/android/apis /graphics/FingerPaint.java –

+0

grazie @MatthiasSchippling –

1

e 'possibile personalizzare l'ImageView e fatto disegnare sulla vostra immagine in OnDraw (tela)

Per esempio:

nella vostra attività:

1) creare bitmap dall'immagine

2) impostare il bitmap di misura ImageView

a) create object for customized ImageView 

vista MyImageView = new MyImageView (questo);

b) set the bitmap 


view.setImageBitmap(bmp); 

MyImageView.java:

+0

Informazioni molto utili! – Alexey

Problemi correlati