349 Stimmen

Bildansicht aus Dateipfad anzeigen?

Ich muss ein Bild nur anhand des Dateinamens und nicht anhand der Ressourcenkennung anzeigen.

ImageView imgView = new ImageView(this);
imgView.setBackgroundResource(R.drawable.img1);

Ich habe das Bild img1 im zeichenbaren Ordner. Ich möchte dieses Bild aus der Datei anzeigen.

Wie kann ich das tun?

738voto

Paresh Mayani Punkte 125623

Labeeb hat recht, warum Sie das Bild über den Pfad festlegen müssen, wenn sich Ihre Ressourcen bereits im Ressourcenordner befinden,

Diese Art von Pfad wird nur benötigt, wenn Ihre Bilder auf einer SD-Karte gespeichert sind.

Y Probieren Sie den folgenden Code aus, um Bitmap-Bilder aus einer auf einer SD-Karte gespeicherten Datei zu setzen.

File imgFile = new  File("/sdcard/Images/test_image.jpg");

if(imgFile.exists()){

    Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());

    ImageView myImage = (ImageView) findViewById(R.id.imageviewTest);

    myImage.setImageBitmap(myBitmap);

}

Und nehmen Sie diese Erlaubnis in die Manifestdatei auf:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

71voto

Labeeb Panampullan Punkte 33641

Ich denke, Sie können dies verwenden

Bitmap bmImg = BitmapFactory.decodeFile("path of your img1");
imageView.setImageBitmap(bmImg);

44voto

BernhardR Punkte 432

Sie können auch verwenden:

    File imgFile = new  File(“filepath”);
    if(imgFile.exists())
    {
        ImageView myImage = new ImageView(this);
        myImage.setImageURI(Uri.fromFile(imgFile));

    }

Damit wird die Bitmap-Dekodierung implizit für Sie durchgeführt.

27voto

Vedant Agarwala Punkte 16862

Alle Antworten sind veraltet. Am besten ist es, zu verwenden picasso für diese Zwecke. Es verfügt über eine Vielzahl von Funktionen, einschließlich der Hintergrundbildverarbeitung.

Habe ich schon erwähnt, dass es super einfach zu bedienen ist?

Picasso.with(context).load(new File(...)).into(imageView);

24voto

String path = Environment.getExternalStorageDirectory()+ "/Images/test.jpg";

File imgFile = new File(path);
if(imgFile.exists())
{
   Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
   ImageView imageView=(ImageView)findViewById(R.id.imageView);
  imageView.setImageBitmap(myBitmap);
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X