Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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 预绘制Raphael屏幕,将其保存到文件并在运行时加载_Javascript_Jquery_Ajax_Svg_Raphael - Fatal编程技术网

Javascript 预绘制Raphael屏幕,将其保存到文件并在运行时加载

Javascript 预绘制Raphael屏幕,将其保存到文件并在运行时加载,javascript,jquery,ajax,svg,raphael,Javascript,Jquery,Ajax,Svg,Raphael,我是Raphael的新手,想问一些关于如何构建我的应用程序的基本问题: 我需要在可视化图形编辑器上绘制模型,并将它们保存到文件中(我称之为屏幕)。在运行时,我需要加载这些屏幕,并使用Ajax从服务器数据为它们设置动画 使用SVG,我可以使用以下简单命令加载数据: <object id="svgobject" type="image/svg+xml" data=".\svg\svgfilename.svg"></object> 此外,在SVG上,我们可以使用一些图形视

我是Raphael的新手,想问一些关于如何构建我的应用程序的基本问题:

我需要在可视化图形编辑器上绘制模型,并将它们保存到文件中(我称之为屏幕)。在运行时,我需要加载这些屏幕,并使用Ajax从服务器数据为它们设置动画

使用SVG,我可以使用以下简单命令加载数据:

<object id="svgobject" type="image/svg+xml" data=".\svg\svgfilename.svg"></object>

此外,在SVG上,我们可以使用一些图形视觉编辑器,这就是构建屏幕所需的全部内容。剩下的部分是javascript代码,用于获取元素ID,并基于ajax调用在运行时更改其属性以获取服务器数据

由于旧浏览器不支持SVG,一个自然的选择是使用Raphael,但我不知道是否有支持Raphael脚本语言的可视化图形编辑器,以及如何在运行时保存/加载这些脚本

那么,使用Raphael可视化编辑我的模型、将它们保存到文件并实时加载的最佳方法是什么呢?

这是一个很好的起点。查看
editor.js
在其上构建或重建您自己的功能。演示

编辑


演示中有将矢量保存为svg的代码。您可以查看这些代码。

您可以使用类似或的插件开始。我认为你可能需要做一些额外的工作来应付团队和拉斐尔


编辑澄清一下,从你的其他评论中,我不确定你所说的图形编辑器中的拉斐尔模式是什么意思。您可以直接将图形作为SVG导入。我不确定为什么需要支持Raphael脚本。

Ian的答案是一个解决方案。另一种方法是将SVG文档转换为Raphael能够理解的数据结构

对于相对简单的SVG图像,可以使用。它将SVG文件(或URL中的SVG)转换为可加载到Raphael中的路径。从文档中,在命令行上运行以下命令:

svg2path some.svg
生成名为
some.path
的路径文件,该文件可以在Raphael中加载(可能使用
paper.path()
方法)


它在和上提供。

有两种策略-您可以按照建议让Raphael解析SVG,或者让矢量编辑器输出Raphael可以理解的JSON数据。有趣的是,我没有想到这一点。