2011-10-10 15 views
6

Sto tentando di dividere un'immagine in pezzi, diciamo per esempio 16 blocchi (4x4). Una volta che ho diviso l'immagine, come posso visualizzare l'immagine di questo blocco nel suo complesso.Suddividi l'immagine in blocchi

Devo usare una bitmap o un drawable? C'è un metodo per dividere o dovrò fare un metodo personalizzato?

risposta

1

Usa bitmap perché contiene pixel dell'immagine che andranno bene per l'uso futuro, se si è disposti a visualizzare quell'immagine.

ad esempio ---->

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.icon); 
    ImageView iv = (ImageView) findViewById(R.id.imageView1); 
    iv.setImageBitmap(bm); 

- ------------------------------ ----- PARTE MODIFICATA ------------------------------------------- -

se si desidera inviare immagini da un luogo ad un altro (un dispositivo all'altro), di convertire in array di byte come questo --->

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.icon); 
ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
bm.compress(Bitmap.Compress.JPEG, 100, baos); 
byte[] b = baos.toByteArray(); 

e quindi inviare questo al Othe dispositivo.

+0

puoi per favore mostrarmi un esempio. In realtà voglio sapere come posso dividere l'immagine in blocchi e quindi visualizzare l'intera immagine usando questi blocchi. – AndroidDev

+0

perché vuoi che si rompa in pezzi e poi mostra e la linea di codice di esempio che ho dato è la cosa giusta da fare, prova prima amico se il problema arriva post, proverò a risolverlo. E se la mia risposta ti ha aiutato ad accettarlo o a svenderlo. – Rocker

+0

In realtà ho aggiunto il supporto NFC nella mia app inizialmente sul taping di due dispositivi trasferisco il testo da un dispositivo all'altro.Ora voglio trasferire l'immagine al posto del testo. Quindi per quello in un primo momento devo dividere le immagini in blocco e poi inviarlo uno dopo l'altro .. ecco perché voglio questi – AndroidDev

0

È possibile utilizzare Canvas, con funzionalità di disegno, suddividendolo in blocchi e impostandoli ciascuno su 4x4 ImageView.

@note:

  • come nelle mie esperienze, Bitmap darà prestazioni migliori rispetto Drawable.
  • ridurre le dimensioni e la qualità dell'immagine per visualizzare prima sullo schermo, quindi dividere e impostare su ImageView.

È possibile fare riferimento al mio elenco di articoli per l'elaborazione delle immagini per avere un'idea al riguardo. Praticamente, non è così difficile :)