我想显示图像并允许捏缩放。我的应用程序是一个空白活动,线性布局,顶部和下面是ImageView,带有一些按钮的水平线性布局。 我试过了两个 PhotoView和TouchImageView 他们都有类似的问题:
我查看了TouchImageView中的代码,并认为我可以看到问题2的答案:例程从代码中获取宽度和高度:
float w = getDrawable().getIntrinsicWidth();
要在我的应用中正确显示肖像模式照片,我需要这样做
imageRotation = getOrientation(photoFilePath);
imgView.setRotation(imageRotation);
这会旋转照片以供显示,但intrinsicWidth和intrinsicHeight不会更改。因此缩放软件的尺寸错误。奇怪,以前没有抓到过。 (也许这是我的错。) 如果我是对的,那么我需要更改代码,以便测试imgView.ROTATION属性。
编辑:我可以检测旋转,然后在纵向模式图像中切换高度和宽度。这有点帮助,但还不够。图像视图中仍有未使用的空白区域。需要做更多的工作,这超出了我的技能。
感谢您的帮助。
答案 0 :(得分:0)
我花了一段时间才弄明白这一点。我的问题是如何旋转肖像图像以使它们在屏幕上进入正确的方向。我用了
imgView.setRotation((float)imageRotation);
那导致了这个问题! 这样做(即不使用imageView功能)
Matrix matrix = new Matrix();
matrix.postRotate(imageRotation);
bmp = Bitmap.createBitmap(bmp , 0, 0, bmp .getWidth(), bmp.getHeight(), matrix, true);
的工作。