Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Работа с объектами в Canvas (https://javascript.ru/forum/misc/54890-rabota-s-obektami-v-canvas.html)

FirstFrost 05.04.2015 11:51

Работа с объектами в Canvas
 
Здравствуйте! Мне нужно написать простенький графический редактор на convas, который может рисовать фигуры (тругольник, квадрат, круг, точка), менять их цвета, размер и угол поворота.

Рисовать объекты довольно просто. Квадрат, например, рисуется так:
ctx.strokeRect(coord_x, coord_y, size, size);

Но как после прорисовки выбрать нарисованный объект и внести в него изменения?

trikadin 05.04.2015 13:02

FirstFrost, никак. Canvas -- для растровой графики. Поэтому если вам нужны объекты, то вам придётся хранить данные о них отдельно. Или воспользоваться готовым решением, например.

theKingOfJava 05.04.2015 13:13

Я вообще то с canvas не знаком, но предположу, как вариант, можно работать с разными полотнами как со слоями, типа:
<html>
<head>
<style>
 .canv{
   border: 1px solid black;
   position: absolute
  }
</style>
</head>
<body>

<canvas id="layer1" class="canv">
</canvas>

<canvas id="layer2" class="canv">
</canvas>

<script>

l1=layer1.getContext("2d")
l2=layer2.getContext("2d")

l1.strokeRect(50, 50, 50, 50)
l2.strokeRect(30, 30, 30, 30)

</script>
</body>
</html>

trikadin 05.04.2015 14:36

theKingOfJava, хранить данные об объектах в любом случае придётся.


Часовой пояс GMT +3, время: 19:55.