当前位置: 首页 > 知识库问答 >
问题:

如何一起移动和缩放图像

傅博容
2023-03-14

我希望用户能够将两个图像缩放到一起,同时保持它们之间的正确相对位置。我在其中一幅图像上使用缩放手势检测器,然后将手势扩展到另一幅图像。我的问题是,虽然我可以让图像一起移动,但一旦我尝试缩放第二个图像,翻译就会急剧下降。它们是我不知道的缩放时发生的事情吗?信息。ParentPrecords变量设置在缩放手势检测器的开头,然后再对父对象(基础图像)进行任何更改。

int[] childPreCoords = new int[2];
view.getLocationInWindow(childPreCoords);

float[] differencePre = new float[]{-info.parentPreCoords[0] + view.getX(),
                -info.parentPreCoords[1] + view.getY()};


int[] parentPostCoords = new int[2];
info.parent.getLocationInWindow(parentPostCoords);


float[] differencePost = new float[]{info.parent.getX() +
                (scale * (differencePre[0])),
info.parent.getY() +  (scale * differencePre[1])};


view.setScaleX(scale);
view.setScaleY(scale);


view.setX(differencePost[0]);
view.setY(differencePost[1]);

共有1个答案

宦翔
2023-03-14

我最终所做的是向两个图像添加一个相对布局容器,然后在容器上设置触摸监听器。这同时缩放和转换了两个图像。

 类似资料:
  • 我一直在做曼德尔布洛特集,并试图缩放,但缩放模式变得非常麻烦。当我缩放它完美地缩放,但图像大小减少到原来的一半。下次我再次缩放时,图片大小会增加,并试图跳过查看窗口。代码是c /opengl.在这里发布之前,我试图让我的代码变得干净一点。 执行时

  • 我现在还没有为转换中心或任何东西定义,因为它不起作用。非常感谢你的帮助。我刚刚开始学习HTML,就像昨天一样,所以我确信这是一件简单的事情,我只是受过足够的教育来发现这个问题。

  • 如果我有两个单独的Sceneform可转换节点,它们都有自己的锚点和锚点,那么如何将它们“链接”在一起,以便用户的手势(捏和拖动)对这两个节点都有相同的效果?如果我将它们指定在同一个锚点或锚点节点上,这会使它们的位置相同,但我不希望这样,我希望两个节点在链接后保持它们的相对位置。我知道如何缩放和旋转一个节点,如果我知道我需要做多少,但我无法找到一种方法来可靠地聆听手势的开始和结束。

  • 我有一个图像,我正在尝试缩放,因为屏幕大小减少。在桌面上,1336x625分辨率的图像可以正常工作,但一旦屏幕缩小到500x625时,图像就不能适当缩放,边缘也会被削减。我试着把最大宽度和位置。但还是没用。我需要改变什么才能让它工作。 Css代码 Html代码:

  • 问题内容: 我希望能够放大HTML 5画布中鼠标下方的点,例如Google Maps上的。我该如何实现? 问题答案: 终于解决了: 关键是计算轴位置,以便缩放点(鼠标指针)在缩放后保持在同一位置。 最初,鼠标与角之间有一段距离,我们希望鼠标下方的点在缩放后保持在同一位置,但这是远离角的地方。因此,我们需要移动(角的坐标)以解决此问题。 然后,其余代码需要应用缩放并转换到绘制上下文,以便其原点与画布

  • 我在Java中编码了一个Mandelbrot集分形,并包含了平移和放大分形的能力。唯一的问题是,当我平移图像并试图放大时,它看起来好像试图放大中心并平移一点。平移和缩放不是真正的平移或缩放,而是对分形的重新计算,看起来像是平移或缩放。 这是我的代码。 我能告诉用户在哪里可以让相机更精确地缩放吗? 先谢谢你。 编辑:图片对于任何想知道这个程序将呈现什么。