Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于拖放绘图应用程序的Canvas与jQuery_Javascript_Jquery_Canvas_Html5 Canvas - Fatal编程技术网

Javascript 用于拖放绘图应用程序的Canvas与jQuery

Javascript 用于拖放绘图应用程序的Canvas与jQuery,javascript,jquery,canvas,html5-canvas,Javascript,Jquery,Canvas,Html5 Canvas,我正在设计一个非常基本的、基于web的、绘图类型的应用程序(与桌面兼容就足够了),在这个应用程序中,我的用户可以将多个对象拖放到指定的区域 对象具有不同的颜色和形状(只有基本的几何形状,如矩形、梯形等),用户可以调整它们的大小或旋转它们,然后保存设计(只将对象的坐标发送到数据库) 我正在学习如何从头开始设计这个 对于上述类型的网页应用程序,我应该主要使用jQuery还是使用HTML画布元素,利弊如何? 我知道它们都是基于Javascript的,但我这样问是为了让我知道应该从哪个特定子集开始学习。

我正在设计一个非常基本的、基于web的、绘图类型的应用程序(与桌面兼容就足够了),在这个应用程序中,我的用户可以将多个对象拖放到指定的区域

对象具有不同的颜色和形状(只有基本的几何形状,如矩形、梯形等),用户可以调整它们的大小或旋转它们,然后保存设计(只将对象的坐标发送到数据库)

我正在学习如何从头开始设计这个

对于上述类型的网页应用程序,我应该主要使用jQuery还是使用HTML画布元素,利弊如何?


我知道它们都是基于Javascript的,但我这样问是为了让我知道应该从哪个特定子集开始学习。

我建议使用类似的框架。jQuery非常适合DOM操作(包括拖放),但不适合图像处理(即使是像您这样的基本用例)。Canvas对于后者是好的,但是您必须自己实现前者

你可以尝试同时做这两件事,但这会很尴尬(你必须同时处理多张画布,等等)。使用一个已经同时完成这两项工作的库将为您节省大量精力


注意:仅指用户界面。为了向服务器来回发送数据,jQuery具有简化调用的功能,具有良好的跨浏览器行为。其他框架可能也有类似的实用程序,但jQuery是我熟悉的工具,因此我建议使用类似的框架。jQuery非常适合DOM操作(包括拖放),但不适合图像处理(即使是像您这样的基本用例)。Canvas对于后者是好的,但是您必须自己实现前者

你可以尝试同时做这两件事,但这会很尴尬(你必须同时处理多张画布,等等)。使用一个已经同时完成这两项工作的库将为您节省大量精力


注意:仅指用户界面。为了向服务器来回发送数据,jQuery具有简化调用的功能,具有良好的跨浏览器行为。其他框架可能也有类似的实用程序,但jQuery是我熟悉的工具,所以我推荐使用它。

谢谢。“落实前者”到底意味着什么?执行拖放操作?是。jQuery可以帮助您移动DOM元素,但如果您将图形绘制到画布中,它就无法帮助您移动这些图形。点击检测/选择和拖放是你必须从头开始实现的东西。明白了。此外,我还发现了一些包括拖放的功能,这似乎很容易做到。因此,我必须使用Canvas元素(或相应的库)创建绘图区域,但在将数据保存/加载到服务器时,必须使用jQuery——这就是您的意思吗?没错。KinectJS使将整个场景(或选定的形状)序列化为JSON()变得简单,但它仅限于此——您仍然需要一种将此信息发送到服务器的方法。jQuery的ajax简单而灵活,在使用它之前不需要一次了解整个框架。谢谢。“落实前者”到底意味着什么?执行拖放操作?是。jQuery可以帮助您移动DOM元素,但如果您将图形绘制到画布中,它就无法帮助您移动这些图形。点击检测/选择和拖放是你必须从头开始实现的东西。明白了。此外,我还发现了一些包括拖放的功能,这似乎很容易做到。因此,我必须使用Canvas元素(或相应的库)创建绘图区域,但在将数据保存/加载到服务器时,必须使用jQuery——这就是您的意思吗?没错。KinectJS使将整个场景(或选定的形状)序列化为JSON()变得简单,但它仅限于此——您仍然需要一种将此信息发送到服务器的方法。jQuery的ajax简单而灵活,在使用它之前不需要一次了解整个框架。