2013-07-29 70 views

回答

5

實際上,this answer to the same question for JS幾乎直接適用。飛鏢翻譯可能看起來像:

import 'dart:html'; 

void main() { 
    var can = new CanvasElement() 
    ..width = 600 
    ..height = 600 
    ; 

    var con = can.getContext('2d'); 

    document.onPaste.listen((e) { 
    var blob = e.clipboardData.items[0].getAsFile(); 
    var reader = new FileReader(); 
    reader.onLoad.listen((e) { 
     var img = new ImageElement() 
     ..src = (e.target as FileReader).result; 
     img.onLoad.listen((_) { 
     con.drawImage(img, 0, 0); 
     }); 
    }); 
    reader.readAsDataUrl(blob); 
    }); 

    document.body.children.add(can); 
} 
+1

在DART的最新版本(0.7.3_r27487),此代碼不能正常工作......看來這個項目(_)方法已經從DataTransferItemList刪除類... –

+0

我無法設法生成粘貼事件。我嘗試了一個斷點,但它並沒有停止,所以我想我錯過了一些東西。 – maugch

+1

更新:從Dart 1.1.1開始,DataTransferItemList類更類似於其他列表 - 而不是使用e.clipboardData.items.item(index),我們可以簡單地使用e.clipBoardData.items [index](這更有意義);編輯上述代碼以反映這一變化並且正在工作。 –

相關問題