it-swarm.com.de

Wie bekomme ich die Höhe und Breite eines Bildes, das in Android verwendet wird?

Ich möchte Höhe und Breite eines Bildes erhalten, das sich entweder in ImageView befindet, oder ein Hintergrundbild in Android-Emulator. Bitte helfen Sie mir, jede Hilfe wird gebeten. 

23
abhishek ameta

Sie können Höhe und Breite von ImageView erhalten, indem Sie getWidth () und getHeight () verwenden. Dies gibt Ihnen jedoch nicht die exakte Breite und Höhe des Bildes. Um die Bildbreite zuerst zu erhalten, müssen Sie die Zeichnung als Hintergrund zeichnen und dann konvertieren für BitmapDrawable darstellbar, um das Bild als Bitmap zu erhalten, aus der Sie die Breite und Höhe wie hier erhalten können

Bitmap b = ((BitmapDrawable)imageView.getBackground()).getBitmap();
int w = b.getWidth();
int h = b.getHeight();

oder mag es hier

imageView.setDrawingCacheEnabled(true);
Bitmap b = imageView.getDrawingCache();
int w = b.getWidth();
int h = b.getHeight();

mit dem obigen Code erhalten Sie eine Bitmap mit der aktuellen Bildansicht, z. B. einen Screenshot des Geräts

nur für ImageView-Größe 

imageView.getWidth(); 
imageView.getHeight(); 

Wenn Sie ein Bild haben, das gezeichnet werden kann, und Sie möchten diese Größe, können Sie auf diese Weise erhalten

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

Aus irgendeinem Grund funktionierte die akzeptierte Antwort nicht für mich, stattdessen erreichte ich die Bildgröße entsprechend der Ziel-Bildschirmauflösung wie folgt.

Methode 1

Context context = this; //If you are using a view, you'd have to use getContext();
Resources resources = this.getResources();
BitmapFactory.Options bounds = new BitmapFactory.Options();
bounds.inJustDecodeBounds = true;
BitmapFactory.decodeResource(resources, R.drawable.cake, bounds); //use your resource file name here.
Log.d("MainActivity", "Image Width: " + bounds.outWidth);

Hier ist der ursprüngliche Link

http://upshots.org/Android/android-get-dimensions-of-image-resource

Methode 2

BitmapDrawable b = (BitmapDrawable)this.getResources().getDrawable(R.drawable.cake);
Log.d("MainActivity", "Image Width: " + b.getBitmap().getWidth());

Es zeigt nicht die genaue Anzahl von Pixeln in der Bildressource, aber eine sinnvolle Anzahl kann möglicherweise jemand weiter erklären.

1
Tough Guy