我想要显示图像,并允许捏缩放。我的应用程序是一个空白活动,上面是带有ImageView的线性布局,下面是带有一些按钮的水平线性布局。我尝试过PhotoView和TouchImageView --它们都有类似的问题:
我查看了TouchImageView的代码,认为我可以看到问题2的答案:例程从代码中获得宽度和高度,如下所示:
float w = getDrawable().getIntrinsicWidth();要在我的应用程序中正确显示肖像模式照片,我需要这样做
imageRotation = getOrientation(photoFilePath);
imgView.setRotation(imageRotation);这将旋转照片以供显示,但是intrinsicWidth和intrinsicHeight不会改变。因此,缩放软件有错误的维度。奇怪的是,这件事从来没有被抓住过。(也许这是我的错。)如果我是对的,那么我需要修改代码,以便测试imgView.ROTATION属性。
编辑:我可以检测旋转,然后切换高度和宽度的纵向模式图像。这有点帮助,但还不够。图像视图中仍有未使用的空白。还需要做更多的工作,这超出了我的能力。
谢谢你的帮助。
发布于 2016-03-15 23:41:08
我花了一段时间才弄明白。我的问题是如何旋转肖像图像,使它们在屏幕上的正确方向。我用过
imgView.setRotation((float)imageRotation);这引起了问题!这样做(即不使用imageView功能)
Matrix matrix = new Matrix();
matrix.postRotate(imageRotation);
bmp = Bitmap.createBitmap(bmp , 0, 0, bmp .getWidth(), bmp.getHeight(), matrix, true);起作用了。
https://stackoverflow.com/questions/35707215
复制相似问题