javascript - 如何使用 Canvas 变换重新创建此 CSS 变换?

标签 javascript canvas matrix

我正在尝试使用渲染到 HTML5 Canvas 上的文本重新创建 CSS 转换的输出。

这是我想要重新创建的实际 CSS 转换:

transform : skew(-22deg, -8deg);

我一直在使用 HTML5 canvas API 中的 context.transform() 和 context.setTransform 方法,但无法接近上述转换?

如何在 Canvas 元素中匹配上述 css 转换?

此外,是否有任何在线工具可以帮助可视化矩阵变换?

提前致谢。

最佳答案

<强> Live Demo

就像你想的那样使用转换,关键是知道值应该去哪里。

var canvas = document.getElementsByTagName("canvas")[0],
    ctx = canvas.getContext("2d");

canvas.width = canvas.height = 100;

ctx.font = "20px arial";
var rad1= -8 * Math.PI / 180;
var rad2= -22 * Math.PI / 180;


ctx.setTransform(1, rad1, rad2, 1, 0, 0);
ctx.fillText("test",30,80);

关于javascript - 如何使用 Canvas 变换重新创建此 CSS 变换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13090739/

相关文章:

algorithm - 我是否可以始终假设角值 !=1 的 mvp 矩阵正在执行缩放?

java - 执行成功,但没有结果?

javascript - HTML Canvas - 拖动上传的图像并调整其大小

html - 快速响应的交互式图表/图形 : SVG, Canvas,其他?

javascript - 在两条线之间画弧并画一条曲线 2 点

c++ - 为什么将数据从 MATLAB 传递到 mex 如此缓慢?

python - numpy 点积但保留为矢量(不添加元素)

javascript - @babel/plugin-transform-react-constant-elements 中的 "deopts"具体是什么意思?

javascript - DOM操作

javascript - 在javascript中确定移动设备上的哪个方向朝下?