我对手动操作图像还很陌生,请多包涵。
我有一张图像,允许用户缩放/移动。基本行为完美无缺。但是,我需要能够抓住“视口”中的任何内容(可见裁剪区域矩形),并将其另存为单独的位图。
在此之前,我需要确定图像实际所在的位置以及正在显示的内容。这比我想象的要棘手得多。
我的问题在于Matrix文档非常模糊,我不知道如何测量转换后的图像坐标和尺寸。据我所见,即使用户缩小/放大,图像的X、Y仍保持不变。因此,即使它报告为0,0,它实际上显示在(例如)100,100处。而我能获得这些坐标的唯一方法是进行相当丑陋的计算(再次强调…可能不是最优雅的方式,因为几何不是我的长项)。
我希望我错过了某些东西,并且有一种方法可以获取对象的自动翻译坐标和尺寸。
在理想情况下,我将能够调用(伪)myImg.getDisplayedWidth()
和myImg.getDisplayedX()
。
哦,我还应该补充一点,这可能是我自己引起的问题,因为我使用图像中心作为缩放/移动的点。如果我将默认的0,0坐标作为不变点,则无论其大小如何,位置都将正确。所以…也许所有这些的答案就是简单地找出我的中心偏移量,并将其应用于我的翻译?
非常感谢您的帮助(请不要随意修改我的问题标题!)。
android.graphics.Matrix
还是android.opengl.Matrix
? - user545680