我构建了一个“图库”应用程序。我的图像方向有问题。我创建了图像(相机),并相信已正确设置方向。它可以在内置库中以及我在各种设备上的应用程序中显示。
奇怪的是索尼Xperia,我的应用程序的ImageView没有正确显示(内置库显示正确)。然后我尝试为ImageView设置旋转矩阵并将scaleType设置为矩阵,但它仍然无效。在将Bitmap放入ImageView之前,我必须自动旋转它。
所以这是最后的问题。如何检查ImageView是否可以自行处理方向(或者代码应该执行它必须执行的操作)。我不相信它是Android版本。我的索尼Xperia是Android 4.4.4。
答案 0 :(得分:0)
您可以使用以下代码
旋转图像视图的位图 BitmapFactory.Options bmOptions = new BitmapFactory.Options();
// Decode Image using Bitmap factory.
Bitmap bMap = BitmapFactory.decodeFile(uriimage.getPath(), bmOptions);
// Create object of new Matrix.
Matrix matrix = new Matrix();
//根据您的要求设置旋转 matrix.postRotate(90);
// Create bitmap with new values.
Bitmap bMapRotate = Bitmap.createBitmap(bMap, 0, 0, bMap.getWidth(),
bMap.getHeight(), matrix, true);
//现在将位图设置为imageview imageview.setBitmap(bmapRotate);
希望它能帮到你
答案 1 :(得分:0)
普拉萨德,谢谢你。
在发布问题之后,我发现(在SO中)也是索尼Xperia的简单解决方案。
使用:imageView.setRotation(orientation);在这里找到它:https://stackoverflow.com/a/14509371/1614089