javascript - css 变换矩阵图像不保持相同的位置

标签 javascript css math matrix transform

如果我没有说清楚,请原谅,但是我会尽力把事情说清楚

我正在尝试翻转图像,因为它是 Web 应用程序,我选择 css 变换矩阵来执行此翻转并尝试了以下代码片段,它可以正常工作,但定位有问题

svgCanvas.changeSelectedAttribute("transform","matrix(-1, 0, 0, 1, 0, 0)");   // Consider svgCanvas as element

翻转前

enter image description here

翻转后

enter image description here

这样做并没有保持与您在图像中看到的相同的位置。我做得对吗?

更新问题

在第一次翻转中,它按照您的建议工作,但与下一次翻转不同。我对所有翻转都应用了相同的 MX = Left + Width/2

第一次翻转后

enter image description here

第二次翻转后

enter image description here

最佳答案

您的变换矩阵用于垂直线 X = 0 的镜像,因此坐标变为负值。

我认为你需要围绕中间线 MX = Left + Width/2 进行镜像,所以你的矩阵应该看起来像 matrix(-1, 0, 0, 1, 2 * MX, 0)

关于javascript - css 变换矩阵图像不保持相同的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39383341/

相关文章:

javascript - 组件出现错误 this.getView 不是函数

如果使用特定浏览器不起作用,PHP if else 语句会打开一个模式?

javascript - 使 <a> 标签触摸友好

c++ - 凸包算法 - 格雷厄姆扫描最快的比较函数?

algorithm - 找到最小的集合组以涵盖所有组合可能性

javascript - 如何从外部作用域将变量传递给 .then() 回调函数?

javascript - 在特定的 html 部分开始一个事件

javascript - 使用 JavaScript 创建文本片段

html - 如何让标题的三个背景线由两个单独的 block 组成?

c++ - 用于运行时优化的矩阵求幂法