我在我的应用中从sdcard获取图片。我正在使用imageview来显示图像。但是,由于我不知道图像是水平还是垂直,如何在imageview中正确显示水平或垂直图像。谢谢
File img_file = new File(picture_path);
bm = BitmapFactory.decodeFile(img_file.getAbsolutePath());
iv2.setImageBitmap(bm);
imageview xml
<ImageView
android:id="@+id/iv_image2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:scaleType="fitXY"
android:adjustViewBounds="true"
/>
答案 0 :(得分:1)
遗憾的是,这是一件很复杂的事情。您可以阅读Xif数据并确定其方向,有关提示,请参阅How to determine orientation of picture without ExifInterface?和Android get Orientation of a camera Bitmap? And rotate back -90 degrees。然后你可以手动旋转它。