2

我正在使用 JavaScript InfoVis Toolkit (http://thejit.org/) 并尝试将我输出的 Spacetree 保存到图像中。Spacetree 被输出到画布上。这个问题真的让我很沮丧。我试过了:

  1. 在新窗口中打开画布
  2. 在新窗口中打开画布所在的div
  3. 使用 Canvas2Image (http://www.nihilogic.dk/labs/canvas2image/)

这是我当前的 Javascript 方法(绑定到按钮):

    function saveImage(div_id) {

        var canvas = document.getElementById("tree-canvas");
        Canvas2Image.saveAsJPEG(canvas);
    }

但是,每次(我的意思是所有 3 个选项)我都会得到我的节点,而不是分配给节点的标签。这真是令人沮丧!

有没有人遇到过这个?这应该是以前遇到过的问题。。

4

1 回答 1

4

对于将来遇到这种情况的任何人,我通过以下方式解决了这个问题:

将标签类型更改为“本机”:

            Label: {
                type: 'Native',
                color: '#000000'
            },

我还抓取了画布 ID(顺便说一下 HTML 5)并将图像扔到了一个新窗口中:

    function saveImage() {

        var canvas = document.getElementById("canvas");
        window.open(canvas.toDataURL("image/jpeg"));
    }
于 2012-07-20T21:20:47.317 回答