Можно ли скопировать (Ctrl + C) и вставить (Ctrl + V) изображение из пользовательской системы (рабочий стол или любую папку) на холст, используя fabric.js. Я видел программу копирования и вставки внутри холста, я нашел это Example во время поиска google, но не нашел подходящего примера для рабочего стола на холсте. Вот фрагмент кода для копирования и вставкиКак скопировать и вставить изображение из пользовательской системы в холст с помощью fabric.js
function onKeyDownHandler(event) {
//event.preventDefault();
var key;
if(window.event){
key = window.event.keyCode;
}
else{
key = event.keyCode;
}
switch(key){
//////////////
// Shortcuts
//////////////
// Copy (Ctrl+C)
case 67: // Ctrl+C
if(ableToShortcut()){
if(event.ctrlKey){
event.preventDefault();
copy();
}
}
break;
// Paste (Ctrl+V)
case 86: // Ctrl+V
if(ableToShortcut()){
if(event.ctrlKey){
event.preventDefault();
paste();
}
}
break;
default:
// TODO
break;
}
}
function ableToShortcut(){
/*
TODO check all cases for this
if($("textarea").is(":focus")){
return false;
}
if($(":text").is(":focus")){
return false;
}
*/
return true;
}
function copy(){
if(canvas.getActiveGroup()){
for(var i in canvas.getActiveGroup().objects){
var object = fabric.util.object.clone(canvas.getActiveGroup().objects[i]);
object.set("top", object.top+5);
object.set("left", object.left+5);
copiedObjects[i] = object;
}
}
else if(canvas.getActiveObject()){
var object = fabric.util.object.clone(canvas.getActiveObject());
object.set("top", object.top+5);
object.set("left", object.left+5);
copiedObject = object;
copiedObjects = new Array();
}
}
function paste(){
if(copiedObjects.length > 0){
for(var i in copiedObjects){
canvas.add(copiedObjects[i]);
}
}
else if(copiedObject){
canvas.add(copiedObject);
}
canvas.renderAll();
}
Можно ли сделать на самом деле я слышал Дат это может не possible.Can кто наставит меня, как это сделать, пожалуйста.
Спасибо за ур ответ @markE Я уже проверил этот сайт. Можем ли мы использовать копии и прошлые ключевые слова из пользовательской системы на холст, из вышеперечисленной ссылки, которую я пытался перетащить, но она не работает должным образом. – Cathy
Добавлен код вырезания/вставки, который ** может работать ** в Chrome. Но, как правило, браузеры не позволяют вырезать/вставить по соображениям безопасности. – markE
спасибо, поскольку у нас есть требование сделать копию и вставить в то же время перетаскивание, но главным приоритетом была копирование/вставка. – Cathy