1

我有一个画布元素(填充手动制作的像素值,而不是现有图像),我想在该画布上实现缩放/平移控件,是否有任何现有的库可以做到这一点?

非常感谢!

4

1 回答 1

4

您可能不会找到专门解决缩放和平移的库,但如果您使用通用画布库,例如EaselJSKineticJS,则很容易实现。

在这种情况下,您可以有一个代表“视口”(您添加到 DOM 的画布)的画布,以及另一个代表“绘图”(可能比视口大)的画布。然后使用缩放因子和平移在视口画布中绘制“绘图”画布。然后可以通过鼠标交互来更改缩放和平移值,例如鼠标滚轮(或触摸设备的捏合)以及分别单击和拖动。

如果您使用库,您最终将编写更少的代码和更易读的代码。这些库使跟踪和操作画布中的“对象”变得更加容易。它们还简化了鼠标交互,因此我绝对建议您检查一下。

于 2012-08-11T14:57:45.410 回答