Android - ImageView показывает изображение из галереи в "ландшафте"

StackOverflow https://stackoverflow.com/questions/9023559

Вопрос

Вообще вообще, может быть, «пейзаж» не лучшее слово для описания, но я не могу думать еще один в данный момент.

Я использую следующий код, чтобы показать изображение в ImageView, но мое изображение, которое было сделано с устройством в «портрете» (голова вверх), отображается в SICKELONG.

Мой код:

mImageView  = (ImageView) findViewById(R.id.iv_photo);

Uri u = Uri.parse("content://media/external/images/media/7");
mImageView.setImageURI(u);
.

xml:

<ImageView
    android:id="@+id/iv_photo"
    android:layout_width="wrap_content"          
    android:layout_height="wrap_content"/>
.

и да, "Содержание: // Media / External / Images / Media / 7" - это действительный путь.

Любые идеи?

Это было полезно?

Решение

Just check the image's dimensions, if it's taller than it is wider, then you can rotate it:
http://android-er.blogspot.com/2010/07/rotate-bitmap-image-using-matrix.html

The relevant bits are:

  bitmap = BitmapFactory.decodeFile(imageInSD);
  bmpWidth = bitmap.getWidth();
  bmpHeight = bitmap.getHeight();

  Matrix matrix = new Matrix();
  matrix.postScale(curScale, curScale);
  matrix.postRotate(curRotate);

  Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, bmpWidth, bmpHeight, matrix, true);
  myImageView.setImageBitmap(resizedBitmap);

Другие советы

android:id="@+id/iv_photo"

android:layout_width="320dip"   

android:layout_height="wrap_content"/>

Use this it may works

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top