2012-01-09 57 views

回答

3

只要您知道如何处理SVG(例如,使用蜡染或其他工具对其进行光栅化),您发现的内容都将起作用。主要的例子将工作,因为任何图表对象都有一个表面属性。所以,做这样的事情:

dojox.gfx.utils.toSvg(chart.surface).then(
    function(svg){ 
    alert(svg); 
    }, 
    function(error){ 
    alert("Error occurred: " + error); 
    } 
); 

另一种方法是切换到dojox.gfx画布模式,并抓住结果作为光栅直​​接从画布图像。在Dojo中没有帮助者,但是做起来相对容易。

+0

谢谢你的回答,但如果我理解正确,至少第二种方法不适用于所有(主要)浏览器,因为IE和Chrome不支持dojo画布模式? – gotcha 2012-01-12 16:12:58

+0

第二种方法是支持Canvas的浏览器(除IE6-8外)。第一种方法应该适用于所有浏览器。 – 2012-01-13 06:58:28

+0

谢谢你的解释。我会尝试第一种方法,因为我至少也需要在IE7-8上工作。 – gotcha 2012-01-13 10:51:27