使用鼠标在html5画布中水平和垂直倾斜绘图

时间:2015-10-03 11:53:23

标签: javascript canvas html5-canvas

在我的代码中,我将图像加载到canvas元素。然后我需要拖动,调整大小,旋转并倾斜它。我设法实现了拖动和调整大小。如何在此代码上使用鼠标实现偏斜?我读了一篇关于这个主题的有用文章(http://www.subshell.com/en/subshell/blog/image-manipulation-html5-canvas102.html)。我发现了fabricjs插件,但它只能处理一个图像而且没有拖动。例如:http://fabricjs.com/matrix-transformation/。 如果您将使用转换函数:

ctx.transform(1, 0.5, -0.5, 1.2, 30, 60);

这将转换分配给canvas元素的所有图像对象。我想只选择图像。

我的代码:

https://jsfiddle.net/sjLnqk5d/2/

1 个答案:

答案 0 :(得分:2)

这是一个更新的fiddle,允许您在单击其中一个角手柄时按Shift键单独倾斜任何图像。您可能需要稍微调整一下以使运动看起来更直观。

诀窍确实在ctx.save()调用周围使用ctx.restore()ctx.transform(),这可确保转换(以及任何其他属性更改)仅适用于{{1} }和save

以下是主要变化:

restore

Shape.prototype.draw