2010-12-29 24 views
21

HI,Come ottenere larghezza e altezza dell'immagine?

Desidero ottenere larghezza e altezza dell'immagine che sono stata memorizzata nella cartella estraibile. È possibile, in caso affermativo per favore fatemelo sapere?

+1

questa icona è molto buona risposta, ho usato questa risposta per impostare lo stesso con lo stato dei messaggi ImageView [uno controllato, due controllato icona ]: http://stackoverflow.com/questions/9655534/android-obtain-image-size-from-its-resource-id –

risposta

61

provare

BitmapDrawable bd=(BitmapDrawable) this.getResources().getDrawable(R.drawable.icon); 
int height=bd.getBitmap().getHeight(); 
int width=bd.getBitmap().getWidth(); 
+11

Preferirei farlo senza calcoli, usando Drawable.getIntrinsicWidth/Height(). – hackbod

+1

utilizzando il codice sopra, ottenendo due terzi della dimensione originale. Ad esempio, un'immagine ha una dimensione 644 X 550; ma sto ottenendo- 429 X 367 dal codice. Quale potrebbe essere il problema? –

+0

hai più cartelle densità? hdpi e mdpi? sembra che BitmapDrawable si confonda con quale scegliere. imposta la giusta densità nelle Opzioni, come http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html –

16

devo seguire this link: -

Drawable d = getResources().getDrawable(R.drawable.yourimage); 
int h = d.getIntrinsicHeight(); 
int w = d.getIntrinsicWidth(); 
+1

questo è più applicabile per me, perché ti dà la dimensione della vista indipendente dal tempo è mostrata sullo schermo o no! –

Problemi correlati