Помислете дали има две платна. Бих искал да изтегля фигура, която е в платното и да я пусна на друго платно. Възможно ли е?
Благодарение на моя въпрос.
Отговори:
0 за отговор № 1Това определено е възможно. Но няма да е особено лесно. Ще ви дам основната идея: Вие ще трябва да направите самата математика и реализацията си:
- Разберете границите на формата на източника.
- Вземете тези пикселни данни и ги използвайте, за да създадете нов платнов елемент над стария. Ще използвате това, за да се справите с плъзгане.
- Внедрете логика за това временно платно.
- Открийте "капка" върху целевото платно, разберете къде са заложени границите. Заместете целевите пикселни данни с данните за драгиращите.
- Отърви се от драматичното платно.
Надявам се това да помогне!
0 за отговор № 2
Може да не разбирам въпроса ви, но формата няма да бъде във всеки контекст, в който го съставяте.
Пример:
context1.drawImage(...);
context2.drawImage(...);
Просто променете контекста?
0 за отговор № 3
Най-лесният начин да направите е да използвате DOM прокси обекти, улавяне на събитие на мишката, препокриване на платното. Тъй като кодът в въпроса е много сложен предвид използването на библиотека:
http://www.html5canvastutorials.com/kineticjs/html5-canvas-drag-and-drop-tutorial/
От платно до платно е все още нещо, от което се нуждаетеза да разбера себе си, тъй като случаят на употреба е много рядък и трябва да анимирате обекта, когато плъзгането не е на платното. Определено възможно, но изключително сложно.