我已将预缩放位图设置为 ImageView 的源。然后我ImageView
通过matrix.postTranslate(shiftX, shiftY)
.
现在我想放大/缩小图像,同时将中心保持ImageView
在比例之前的位图同一点。
如果我尝试用 放大图像matrix.postScale(zoom, zoom)
,我想要保持的点(蓝点)会移动到其他位置(紫点)。
我尝试了几种不同的方法将位图移回,但我无法让它正常工作。我知道初始位图大小、ImageView 大小、虚线标记的距离。试图计算所需的移位并在matrix.postTranslate(-zoomshiftX, -zoomshiftY)
之后使用,但它没有正确移位。
甚至发现,在 matrix.postScale() 函数和尝试 matrix.postTranslate(-zoomshiftX/zoom, -zoomshiftY/zoom) 之后,底层位图的像素数没有改变 - 但仍然没有运气。
我如何实现这样的缩放?