在画布之间使用画布绘制线条

发布于 2024-11-10 03:15:56 字数 473 浏览 0 评论 0 原文

最好的方法是什么?

我看过 如何使用 JQuery 在 2 个元素之间画一条线并刷新该线? 但很快意识到他们正在谈论单个画布;)

我还看了 http://raphaeljs.com/

直播于http://---< /a> - 名称是匿名的,物体在移动时不会保存其位置...

欢迎并非常感谢所有指导。 即使您希望我从头开始重写所有画布内容。 :)

What's the best way to do it?

I've looked at How to draw a line between 2 elements using JQuery and refreshing that line? but soon realised they were talking about a single canvas ;)

I also took a gander at http://raphaeljs.com/

It's live at http://---
- Names anonymised and objects won't save their positions when moved...

All guidance is welcome and greatly appreciated.
Even if you want me to rewrite all the canvas stuff from scratch. :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

做个少女永远怀春 2024-11-17 03:15:56

你有几个选择:

  1. 为你想要绘制的每条线添加另一个画布,它的大小应该是一个矩形,其对角线是你想要绘制的线。它的 z-index 应该低于可拖动元素,这样它就不会隐藏鼠标点击。每当拖动其两端画布可拖动对象之一时,都应重新绘制每个线条画布。

  2. 与之前相同,但底部仅保留一张画布。每当拖动任何可拖动对象时,都会清除画布并重新绘制所有线条。

  3. 重写您的代码,使所有内容都在一个画布上,并且每次都会重新绘制所有内容。使用此方法,您将无法使用 jQuery UI 的可拖动对象,并且必须自己实现拖动。

如果我必须选择的话我会选择选项2。

You have several options:

  1. Add another canvas for each line you want to draw, it's size should be a rectangle whose diagonal is the line you want to draw. it's z-index should be lower than the draggables so it will not hide the mouse clicking. each line-canvas should be redrawn whenever one of its two end canvas draggables are dragged.

  2. Same as before, but maintain only one canvas at the bottom. whenever any draggable is dragged, clear the canvas and redraw all the lines.

  3. rewrite your code that everything is on one canvas and everything is redrawn every time. Using this method you won't be able to use jQuery UI's dragables and will have to implement the dragging yourself.

If I'd have to choose I would go for option 2.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文