在画布之间使用画布绘制线条
最好的方法是什么?
我看过 如何使用 JQuery 在 2 个元素之间画一条线并刷新该线? 但很快意识到他们正在谈论单个画布;)
直播于http://---< /a> - 名称是匿名的,物体在移动时不会保存其位置...
欢迎并非常感谢所有指导。 即使您希望我从头开始重写所有画布内容。 :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你有几个选择:
为你想要绘制的每条线添加另一个画布,它的大小应该是一个矩形,其对角线是你想要绘制的线。它的 z-index 应该低于可拖动元素,这样它就不会隐藏鼠标点击。每当拖动其两端画布可拖动对象之一时,都应重新绘制每个线条画布。
与之前相同,但底部仅保留一张画布。每当拖动任何可拖动对象时,都会清除画布并重新绘制所有线条。
重写您的代码,使所有内容都在一个画布上,并且每次都会重新绘制所有内容。使用此方法,您将无法使用 jQuery UI 的可拖动对象,并且必须自己实现拖动。
如果我必须选择的话我会选择选项2。
You have several options:
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.
Same as before, but maintain only one canvas at the bottom. whenever any draggable is dragged, clear the canvas and redraw all the lines.
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.