【发布时间】:2019-11-07 19:33:33
【问题描述】:
我的目标是将图像引入画布的一部分,然后对其进行缩放、移动/平移,并可选择倾斜它,还可以旋转并进行 alpha 更改,这是一种主要的“2d 图像操作”,在一种动画形式,即:从起始状态到目标结束状态随时间变化不大。
好吧,我认为要高效,我应该使用 canvas/2d 上下文转换,https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/transform - 就像前 3 个一样:缩放、移动/平移和倾斜,“一体化”。我做了一半的代码,现在我正在查看示例并寻求调试它。我看到的所有例子都是做 1)一些变换,远离“统一变换”:
{ a:1, b:0, c: 0, d:1, e:0, f:0 }; // this basic transform does nothing
然后2)画进去。但这与我想要的顺序相反:在画布(图像)上绘制,然后使用上述主要更改(缩放、平移、倾斜、旋转和 alpha)随着时间的推移制作动画。我的问题是:它是否只能“以这种方式工作”,这意味着我必须先在页面上设置(单个)转换,然后“绘制成那个?”
我希望不会……那不会给我想要的东西,我必须“放弃它”,进行 5 次单独的“转换”。注释?
【问题讨论】: