Я думаю, что вы не можете сделать это только с одним фреймворком, если ваша цель — сделать его максимально простым.
Если я хорошо понимаю, то, что вы хотите сделать, это позволить пользователю вашего приложения сделать какой-то расширенный «рисунок», сделанный прямо в браузере.
Во-первых: без элемента холста их работы должны быть экспортированы/сгенерированы на стороне сервера.
Теперь лучший способ сделать это - иметь объект javascript, который представляет каждый документ и его содержимое, с включенными моделями и описанием каждого свойства, такого как позиция, вращение. И этот объект должен быть отрендерен, чтобы свойства css и элементы html соответствовали структуре объекта. То есть AngularJS был бы моим первым выбором, поскольку он почти автоматически отслеживает ваши модели и отображает целевой элемент в реальном времени, как только ваш объект изменяется. (Angular 2 лучше, но задокументирован только в TypeScript и Dart)
Отсюда, с html5 и css3, элементами можно управлять с помощью хорошего свойства: transform. Он принимает такие значения, как "translateX(10px)" или "rotateZ(10deg)". Чтобы узнать больше об этом: http://www.w3schools.com/cssref/css3_pr_transform.asp а>.
Кроме того, для перетаскивания: http://www.w3schools.com/html/html5_draganddrop.asp.
Чтобы обрезать изображение, вы должны использовать код на стороне сервера. (пример с php: http://php.net/manual/fr/function.imagecrop.php)
Чтобы поиграть с масками на изображениях, есть также хорошо работающие свойства css3: http://www.w3schools.com/cssref/pr_pos_clip.asp
А для связи между вашим приложением и сервером используйте функции jQuery: http://api.jquery.com/category/ajax/.
Наконец, выберите то, что вы хотите от css3: http://www.w3schools.com/css/css3_intro.asp. http://www.w3schools.com/css/css3_images.asp
Я надеюсь, что это поможет вам. Удачи !
ОБНОВЛЕНИЕ: я обнаружил, что свойство clip css устарело, теперь это clip-path, но оно работает примерно так же.
ОБНОВЛЕНИЕ 2: на самом деле маски (с изображениями, а не путями) можно создавать с помощью свойства mask css: https://developer.mozilla.org/en-US/docs/Web/CSS/mask. Но будьте осторожны, он по-прежнему частично поддерживается http://caniuse.com/#search=mask.
person
Alice Ongaku
schedule
22.04.2016