2012-09-29 16 views
6

Bir png görüntüsünü cihazım sd kartından çekilebilir olarak yüklemeye çalışıyorum. Aşağıdaki işlevini kullanın ama çalışmıyor:SD karttan çekilebilir yükleniyor

public Drawable getDrawable() 
{ 
return new BitmapDrawable(imagePath); 
} 

görüntü yol: mnt/sdcard/MyFolder/resim.png

uygulama çöker O yöntemini çağırarak deneyin nasıl olmalı Sd kartımda bulunan png resmimi yüklerim ve Drawable nesnesine gönderirim?

+1

Look gibi basit yapacağım) – Doomsknight

+0

@Doomsknight Bir örnek verebilir misiniz lütfen? BitmapFromFile için şimdi bakıyordum ama hakkında herhangi bir bilgi bulamadı. – idish

+0

@Doomsknight Görüyorum, bundan sonra bitmap'i çekilebilir bir nesneye dökmem gerekecek mi? – idish

cevap

13

Aslında dosya yolundan doğrudan bir BitmapDrawable kurucu var. Kullandığınız yöntem depricated. Deneyin:

Drawable myDrawable = new BitmapDrawable(getResources(), pathName); 

bu doesnt iş, bir bit eşlem alma ve ondan bir çizilebilir oluşturmayı deneyin edin:

bitmap decodeFile

ile oluşturulabilir

Böyle kullanabilirsiniz:

Bitmap myBitmap = BitmapFactory.decodeFile(pathName); 

Ardından çizim için bitmap'i kullanabilirsiniz.

fazla bilgi için göz Here (Bitmaps) ve Here (Bitmap Drawables) atın çekilebilir kullanım

Drawable myDrawable = new BitmapDrawable(getResources(), myBitmap); 

için Bitmap dönüştürün.

+0

Kodun ilk parçası = yeni BitmapDrawable() yapıcı olarak. –

+0

@JohnJSmith Değiştirildi. :) – Doomsknight

0

Ben decodeFile` http://developer.android.com/reference/android/graphics/BitmapFactory.html#decodeFile(java.lang.String `o

public Drawable getDrawableFromPath(String filePath) { 
    Bitmap bitmap = BitmapFactory.decodeFile(filePath); 
    //Here you can make logic for decode bitmap for ignore oom error. 
    return new BitmapDrawable(bitmap); 
}