繁体   English   中英

捏问题缩放肖像照片上的PhotoView和TouchImageView的android问题

[英]android problems with pinch to zoom libraries PhotoView and TouchImageView on portrait images

我想显示图像并允许捏缩放。 我的应用程序是一个空白活动,具有线性布局和顶部的ImageView,在其下方是带有一些按钮的水平线性布局。 我已经尝试了PhotoViewTouchImageView,它们都有类似的问题:

  1. 右侧的工具栏菜单对触摸没有响应(在4.4.4和4.4.2中)。 它似乎在5.0.2中响应。
  2. 以人像模式拍摄的照片无法正确显示或缩放:它们仅使用ImageView的一部分。

我查看了TouchImageView的代码,并认为我可以看到问题2的答案:例程从代码中获取宽度和高度,例如:

float w = getDrawable().getIntrinsicWidth();

要在我的应用中正确显示人像模式照片,我需要这样做

imageRotation = getOrientation(photoFilePath);
imgView.setRotation(imageRotation);

这将旋转照片进行显示,但是nativeWidth和nativeHeight不会更改。 因此缩放软件的尺寸错误。 奇怪的是,这之前没有被发现。 (也许这是我的错。)如果我是对的,那么我需要更改代码,以便测试imgView.ROTATION属性。

编辑:我可以检测旋转,然后在纵向模式图像中切换高度和宽度。 这有一点帮助,但还不够。 imageview中仍然有未使用的空白空间。 需要做更多的工作,这超出了我的能力。

谢谢你的帮助。

我花了一段时间才弄清楚这一点。 我的问题是如何旋转人像图像以使其在屏幕上正确定向。 我用了

        imgView.setRotation((float)imageRotation);

造成了问题! 以这种方式进行操作(即不使用imageView功能)

    Matrix matrix = new Matrix();
    matrix.postRotate(imageRotation);
    bmp = Bitmap.createBitmap(bmp , 0, 0, bmp .getWidth(), bmp.getHeight(), matrix, true);

工作了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM