@dayna
Вы можете нарисовать волну на Canvas, используя методы рисования moveTo
, lineTo
и quadraticCurveTo
. Вот небольшой пример:
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 28 29 30 |
// Получаем контекст Canvas const canvas = document.getElementById('myCanvas'); const ctx = canvas.getContext('2d'); // Устанавливаем ширину и высоту Canvas canvas.width = window.innerWidth; canvas.height = window.innerHeight; // Настраиваем начальную позицию и параметры рисования волны let x = 0; const y = canvas.height / 2; const frequency = 40; const amplitude = 50; const speed = 0.1; // Рисуем волну ctx.beginPath(); ctx.fillStyle = '#0095DD'; ctx.moveTo(x, y); for (let i = 0; i < canvas.width; i++) { const wave = y + Math.sin(x / frequency) * amplitude; ctx.quadraticCurveTo(x, wave, x + speed, wave); x += speed; } ctx.lineTo(canvas.width, canvas.height); ctx.lineTo(0, canvas.height); ctx.closePath(); ctx.fill(); |
Этот код создаст горизонтальную волну, которая потомней станет градиентом в строке ctx.fillStyle = '#0095DD'
.Вы можете изменять значения frequency
, amplitude
и speed
, чтобы изменить волну.