Я был несколько дней без инета и меня заинтересовал cnavas. Решил посмотреть в программе Zeal (брограмма-сборник документации чуть ли не обо всём) что там написано и я не понял несколько вещей:
0. Почему метод save используется до того как чтото нарисовать? Вот один из тех примеров:
function draw() {
var ctx = document.getElementById('canvas').getContext('2d');
// draw a simple rectangle, but scale it.
ctx.save(); // я вот тут не понимаю, зачем сохранять "ничего"(наверное правильнее говрить "пустой холст" но я в этом не уверен)?
ctx.scale(10, 3);
ctx.fillRect(1, 10, 10, 10);
ctx.restore();// и зачем это "ничего" восстанавливать?
// mirror horizontally
ctx.scale(-1, 1);
ctx.font = '48px serif';
ctx.fillText('MDN', -135, 120);
}
1. Почему нельзя объект, например четырехугольник или круг, сохранить в переменную чтобы легче было с ним обращатся? Например как в библиотеке sfml в С++
CircleShape circle(76,60);
circle.setOutlineThickness(2);
circle.setOutlineColor(gray);
circle.move(33,126);
Или может лучше использовать для этого какую-нибудь библиотеку? Если да, то какую лучше?