将KineticJS数据转换为<img/>标签而不是新窗口

时间:2012-11-27 00:52:46

标签: kineticjs data-url

我正在制作一款类似于KineticJS drag and drop sample的游戏。 我将它与save image feature结合起来,这样用户就可以保留他们所做的最终结果。

有谁知道如何控制画布结果图像的位置?我想要包含用户分享/发布图像到Facebook,发送电子邮件或保存的选项。

我认为这是对

的改变
function() {
         stage.toDataURL({callback: function(dataUrl) { window.open(dataUrl);} });  }, false);
      } 

或之后的一些额外代码?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

你是对的。您可以保存dataURL,只需将其作为图像进行操作即可。

var myDataUrl;  //place outside of scope of function for saving
stage.toDataURL({
    callback: function(dataUrl){
      // do something with the data url
      // like window.open(dataUrl); 
      // you can do anything do anything really, like
      myDataUrl = dataUrl;

      var img= new Image(); //or document.createElement('img');
      img.src= myDataUrl; 

      //(new Image()).src = "myDataUrl"; //or the shortcut way

      document.getElementById('container').appendChild(img);
    },
    mimeType: 'image/jpeg',
    quality: 0.5
});