3
我使用Dart開發個人白板Chrome應用程序,它有時可以快速複製和粘貼圖像(例如演示文稿,圖表或演示文稿中的幻燈片),以便我可以添加筆記在教課或演講時的形象。如何使用Dart將剪貼板中的圖像粘貼到Canvas元素上?
如何將存儲在剪貼板上的圖像粘貼到Dart中的畫布元素上?
我使用Dart開發個人白板Chrome應用程序,它有時可以快速複製和粘貼圖像(例如演示文稿,圖表或演示文稿中的幻燈片),以便我可以添加筆記在教課或演講時的形象。如何使用Dart將剪貼板中的圖像粘貼到Canvas元素上?
如何將存儲在剪貼板上的圖像粘貼到Dart中的畫布元素上?
實際上,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);
}
在DART的最新版本(0.7.3_r27487),此代碼不能正常工作......看來這個項目(_)方法已經從DataTransferItemList刪除類... –
我無法設法生成粘貼事件。我嘗試了一個斷點,但它並沒有停止,所以我想我錯過了一些東西。 – maugch
更新:從Dart 1.1.1開始,DataTransferItemList類更類似於其他列表 - 而不是使用e.clipboardData.items.item(index),我們可以簡單地使用e.clipBoardData.items [index](這更有意義);編輯上述代碼以反映這一變化並且正在工作。 –