2011-06-30 22 views
7

Mam problemy z wyświetlaniem istniejącego obrazu na sdcard.ImageView nie wyświetli obrazu po ustawieniu przez setImageBitmap()

ImageView _photoView = (ImageView)findViewById(R.id.img_photo); 

File photoFile = new File(Environment.getExternalStorageDirectory(), Session.PHOTO_FILE_NAME); 
rawFileInputStream = new FileInputStream(photoFile); 
Bitmap origPhoto = BitmapFactory.decodeStream(rawFileInputStream, null, new BitmapFactory.Options()); 

_photoView.setImageBitmap(origPhoto); 
Log.d(TAG, origPhoto.getWidth() + " - " + origPhoto.getHeight()); 

Zdjęcie istnieje i wymiary pokazać się jako wyświetlony, ale nic w tagu ImageView

<ImageView 
    android:id="@+id/img_photo" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 

starałem się ustawić wysokość do stałej wielkości pojawia się, ale nadal nie mogę zobacz zdjęcie.

Widziałem kilka wpisów na SO dotyczących tego problemu, ale żadna z nich nie została jeszcze odebrana.

Wszelkie pomysły?

** Aktualizacja Gdybym załadować plik bezpośrednio, zamiast za pośrednictwem FileStream działa

Bitmap origPhoto = BitmapFactory.decodeFile("/mnt/sdcard/" + Session.PHOTO_FILE_NAME); 
double scale = MAX_WIDTH * 1.0/origPhoto.getWidth(); 
int height = (int)(origPhoto.getHeight() * scale); 
Bitmap scaledPhoto = Bitmap.createScaledBitmap(origPhoto, MAX_WIDTH, height, true); 
_photoView.setImageBitmap(origPhoto); 

ale jeśli następnie dodać metodę Bitmap.createScaledBitmap() nazywają to już nie działa, a obraz nie jest wyświetlany.

+0

Coś jeszcze jest nie tak, "setImageBitmap (Bitmap)" zdecydowanie działa. – dmon

+1

Dobrze, że jesteś. Wymieniłem strumieniowanie plików na 'Bitmap scaledPhoto = BitmapFactory.decodeFile ("/mnt/sdcard/"+ Session.PHOTO_FILE_NAME);' i teraz działa. – chris

+0

Niestety, jak tylko dodam linię kodu, aby skalować obraz, to już nie działa. Zobacz aktualizację – chris

Odpowiedz

0

Wymieniłem strumieniowanie plików za pomocą Bitmap scaledPhoto = BitmapFactory.decodeFile ("/ mnt/sdcard /" + Session.PHOTO_FILE_NAME); i teraz działa (co zostało wymienione w aktualizacji)

Powiązane problemy