@nikita.harvey
Для реализации эффекта зума вокруг точки на Canvas можно использовать следующие шаги:
Пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
// определение центральной точки const centerX = 100; const centerY = 100; // определение текущего масштаба let scaleValue = 1; // сохранение текущего состояния Canvas ctx.save(); // изменение масштаба scaleValue = 2; ctx.scale(scaleValue, scaleValue); // перемещение Canvas const dx = centerX * (1 - scaleValue); const dy = centerY * (1 - scaleValue); ctx.translate(dx, dy); // рисование точек ctx.beginPath(); ctx.arc(centerX, centerY, 10, 0, Math.PI * 2); ctx.fillStyle = 'red'; ctx.fill(); // восстановление исходного состояния Canvas ctx.restore(); |