设置Matrix最小和最大比例ImageView?

时间:2015-09-26 11:03:33

标签: android image imageview zoom pan

我有一个缩放和平移图像视图矩阵的代码,它运行良好,但我希望图像视图不会缩小到比我的屏幕小,我不想让它放大很多,我想设置缩放限制和拖动(平移)相同的事情如果图像的宽度大于屏幕,它应该水平平移,如果图像的高度大于屏幕,它应该垂直平移,如何我能实现这个结果吗?我尝试了麦克奥尔蒂斯的一些方法,但我无法让他们工作。

2 个答案:

答案 0 :(得分:1)

我为我的应用编写了这个代码,并且很难将其完成。

我创建了一些RectRectF来完成大量的临时计算。如果您不必在每次操作中分配这些内容,效率会更高。

我使用Matrix.setRectToRect()来查找最小比例因子,并使用3x表示最大比例因子。然后在postScale缩放后,我将新的[绝对]比例因子钳制到最小/最大

postScale之后,我还将rect坐标与屏幕坐标进行比较,并添加平移以使图像角落在屏幕边界之外。对拖动操作也做了同样的逻辑。

答案 1 :(得分:0)

查看此库

https://github.com/davemorrissey/subsampling-scale-image-view

具有平移和缩放手势的高度可配置,易于扩展的视图,可显示巨大的图像而不会丢失细节。完美的照片画廊,地图,建筑计划等。

相关问题