粘贴在画布内

时间:2013-12-03 21:08:10

标签: javascript html5 dart

关于它已经有Previous question,但它已经过时了。 我没有找到dartlang网站的任何帮助或谷歌搜索,所以这又是问题。

document.onPaste.listen((e)  {
  //var items = e.clipboardData.getData("image"); 
  var blob = e.clipboardData.items.item(0).getAsFile();
  var reader = new FileReader();
  reader.onLoad.listen((e) {
    var img = new ImageElement()
    ..src = (e.target as FileReader).result;
    img.onLoad.listen((_) {
      mainContext.drawImage(img, 0, 0);
    });
  });
  reader.readAsDataUrl(blob);
});

“items”是之前的测试,而“blob”不起作用,因为google删除了item()。我没有找到任何其他方法来做到这一点。最后可能的解决方案是寻找一个javascript库来做到这一点。请注意,即使在整个文档中我也使用onPaste,因为在画布上它不起作用,至少对我而言。

2 个答案:

答案 0 :(得分:1)

  @DomName('DataTransferItemList.__getter__')
  @DocsEditable()
  @Experimental() // untriaged
  DataTransferItem __getter__(int index) native "DataTransferItemList___getter___Callback";

访问数据的唯一可用方法是私有,并标记为试验性。

你可以为错误加注

我无法仅通过路径或网址获取图片数据,但您可以尝试:

var text = e.clipboardData.getData('text');

检查ClipboardData.types属性时,您可能会获得更符合您需求的格式参数。

答案 1 :(得分:0)

我之前提到的Previous Question已经不再过时了。我正在回答我自己的问题,使其比仅仅编辑更具可读性。