Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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
Json SVG序列化_Json_Svg_Raphael_Simplejson - Fatal编程技术网

Json SVG序列化

Json SVG序列化,json,svg,raphael,simplejson,Json,Svg,Raphael,Simplejson,我有基于RaphaelJS的画布,用户可以在其中做一些工作。我需要做两件事: 将用户的工作保存到数据库中 Rastersize SVG(我使用Apache Batik完成该任务) 对于1,将Raphael的画布转储到json,然后jQuery.getJSON()将其发送到后端,在后端,我需要将其转换回SVG以馈送到Batik 这种流动看起来合理吗?SVG->JSON->SVG转换似乎有点开销,有更好的方法吗 后端运行python/django。我在json->SVG中使用标准json包,但有时会

我有基于RaphaelJS的画布,用户可以在其中做一些工作。我需要做两件事:

  • 将用户的工作保存到数据库中
  • Rastersize SVG(我使用Apache Batik完成该任务)
  • 对于1,将Raphael的画布转储到json,然后jQuery.getJSON()将其发送到后端,在后端,我需要将其转换回SVG以馈送到Batik

    这种流动看起来合理吗?SVG->JSON->SVG转换似乎有点开销,有更好的方法吗

    后端运行python/django。我在json->SVG中使用标准json包,但有时会在传入json(主要是字体样式属性)中出现语法错误而失败。有人面对这些问题吗


    在数据库中存储这些数据的最佳方式是什么?就像字符串一样?

    如果可以从Raphael获得根
    元素的句柄,则可以将其转换为原始XML源(在客户端上),然后发送:

    var svgAsXML = (new XMLSerializer).serializeToString(svg);
    

    导出将元素保存到Raphael支持的任何浏览器中的SVG:


    我用它将Raphaël绘图保存为使用蜡染的PNGs服务器端。

    此应用程序需要多大的可扩展性?您可以将svg文本存储为一个大字符串。但是,如果你必须查询这些数据,或者如果你正在计划大量的流量,这可能不是一个好主意。我看到的另一种选择是将其存储在文本文件中。我对raphael.serialize进行了多次重构,使其与raphael 2.0一起工作,并处理所有元素和转换:问题是,对于较旧的浏览器,没有@AlexKreimer…那么raphael就不工作了,对吗?除非你说的是IE的案例,Raphael运行VML作为显示层。