2014-10-15 6 views
1

На моей странице у меня есть маленький и большой холст. Что мой пользователь видит, это небольшой холст со строкой по умолчанию в середине. Когда пользователь перемещает его, мне нужно перерисовать это в более крупном холсте, поэтому, когда пользователь экспортирует его, это большое изображение.Как перерисовать объекты холста на большие холсты с помощью Fabricjs

Посмотрите мой скрипку образец

Links: http://jsfiddle.net/mailightkun/kahsomv7/10/ 
+0

вы хотите что-то вроде перетаскивания между этими двумя холстами, я прав? – Innodel

+0

Not Totally drag and drop, его больше на репликации. Какой пользователь делает на маленьком холсте, который он должен отражать на большом холсте. –

ответ

0

Я должен был сделать это в прошлом.

Эта функция клон все объект от холста к другому и позволяет вам указать левую и верхнюю смещения:

function cloneObjects(from_canvas, to_canvas, o_top, o_left) { 

    var objects = from_canvas.getObjects(); 
    for (var i in objects) { 

     var object = fabric.util.object.clone(objects[i]); 
     var x = object.x; 
     var y = object.y; 
     var left = object.left; 
     var top = object.top; 
     object.x = o_left + x; 
     object.y = o_top + y; 
     object.left = o_left + left; 
     object.top = o_top + top; 

     object.name += '-export'; 

     object.setCoords(); 

     object.selectable = false; 

     to_canvas.add(object); 


    } 

    to_canvas.calcOffset(); 
    to_canvas.deactivateAll().renderAll(); 
} 

Позвольте мне знать, если это соответствует вашим требованиям.

Смежные вопросы