【问题标题】:Resizing IMAGEVIEW on image scale android在图像比例android上调整IMAGEVIEW的大小
【发布时间】:2011-10-02 21:11:33
【问题描述】:

我在 android 的 imageview 中有一张图片。

我通过类似下面的代码使用 scaletype(MATRIX) 缩放图像:

                       mtrx.postScale(scale, scale);
                 imageView.setImageMatrix(mtrx);
            imageView.setScaleType(ScaleType.MATRIX);
            imageView.invalidate();

现在,这确实可以正确调整 ImageView 中包含的图像的大小,这很好,但我需要将图像重新定位到 imageview 中的位置 0,0,然后将 imageView 本身调整为缩放图像的大小.

到目前为止,我想出的每一个尝试重用同一个 imageView 的想法似乎都不起作用,或者我只是做错了什么。

完成此操作的唯一方法是销毁图像视图、调整位图大小、创建包含按比例创建的新位图的新图像视图并将视图添加回布局吗?

我真的不想那样做.. 我遇到了 16 Meg 堆限制,因为它是事物。我如何告诉矩阵将图像移动到 imageView 中的 0,0 位置(imageView 最初是使用 scaletype 中心创建的,在它缩小图像之后?然后我如何告诉 imageView,嘿,你现在只是和缩放后的图片一样大?

提前致谢。

【问题讨论】:

    标签: android matrix resize imageview resize-image


    【解决方案1】:

    将“Adjust View Bounds”设置为true,然后将缩放类型设置为“fitXY”,最后调整layout_width和height。您将看到图像调整大小。

    【讨论】:

      【解决方案2】:

      将您的图像视图设置为“调整视图边界”似乎可以解决问题。

      这是文档必须说的:

      如果您希望 ImageView 调整其边界以保持其可绘制对象的纵横比,请将其设置为 true。

      您可以通过使用android:adjustViewBounds="true" 或在代码中使用imageView.setAdjustViewBounds(true) 来做到这一点。

      【讨论】:

      • 但是使用 scaleType fitStart 不起作用。至少在这种情况下:缩小后底部有空的垂直空间。这个空间在我设置adjustViewBounds="true"时没有调整
      猜你喜欢
      • 2011-09-20
      • 2011-07-15
      • 1970-01-01
      • 2013-02-02
      • 2018-02-17
      • 2015-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多