Dalam artikel ini Melukis Garisan di Kanvas, saya bercakap tentang cara melukis garis lurus Secara logiknya, artikel mengenai lukisan lengkung ini sepatutnya telah diterbitkan lama dahulu, tetapi memandangkan lukisan lengkung pada kanvas adalah agak istimewa, saya telah '. belum faham, jadi Cubalah langkah demi langkah.
Salah satu kesukaran untuk melukis lengkung dalam kanvas ialah hanya terdapat 4 fungsi untuk lengkung! Mereka ialah arc, arcTo, quadraticCurveTo, dan bezierCurveTo Mari saya mulakan dengan kaedah arka yang paling mudah.
Fungsi lengkok adalah untuk melukis lengkok biasa, yang boleh menjadi bulatan lengkap atau lengkok tertentu bulatan. Sintaks untuk arka adalah seperti berikut: 🎜>
context.arc(x, y, radius, startAngle, endAngle, lawan arah jam)
Saya akan menerangkan parameternya, iaitu,
arka(pusat bulatan x, pusat bulatan y, jejari, sudut permulaan, sudut berakhir, lawan jam atau tidak)
Salin kod
Kod adalah seperti berikut:
ctx.arc(400,400,20,0,Math.PI*2); >
Seperti lineTo, arc juga merupakan laluan lukisan, jadi kita perlu memanggil kaedah isian atau lejang di belakangnya untuk memaparkan grafik (red strokeStyle dan translucent red fillStyle digunakan dalam gambar).
Salin kod
Kodnya adalah seperti berikut:
ctx.arc(400,400, 20,0 ,Math.PI*2/4);
Daripada rajah, kita boleh menentukan bahawa 0 darjah lengkok ialah 0 darjah yang biasa digunakan dalam matematik , tetapi sudut lalai kepada Jarum jam terbuka, yang bertentangan dengan model matematik (ia berkaitan dengan koordinat, kerana koordinat kanvas juga bertentangan dengan koordinat matematik).
Tetapi tidakkah terdapat parameter di hadapan untuk menentukan sama ada ia berlawanan arah jam? Bagaimana pula kita menetapkannya kepada benar?
Kod tersebut adalah seperti berikut:
ctx.arc(400,400, 20,0 ,Math.PI*2/4,true);
Anda akan melihat bahawa sudut menjadi lawan jam, menyebabkan lengkok menjadi 360 -90 = 270 darjah.
Tetapi! Satu perkara yang perlu diberi perhatian oleh semua orang ialah kaedah pengiraan titik permulaan dan titik akhir sentiasa bermula dari 0 darjah dan memanjang mengikut arah jam Tiada perkara seperti ke hadapan dan ke belakang. Arah jam dan lawan jam hanyalah arah di mana lengkok dilukis.
Salin kod
Kod adalah seperti berikut:
ctx.arc(400,400, 20,Math .PI*2/4,Math.PI*2 Math.PI);
Jika titik permulaan kita ialah 90 darjah dan titik akhir juga 90 darjah, hasilnya tiada apa-apa. boleh dilukis, jadi saya meletakkan titik akhir Sudut telah ditukar kepada 180 darjah, dan akhirnya graf di bawah diperolehi.
Salin kod
Kod Seperti berikut:
ctx.arc(400,400,20,Math.PI*2/4,Math.PI*2 Math.PI*2/4); /Titik permulaan ialah 90 darjah, titik akhir ialah 360 90 Darjah
Bagaimanapun, pendekatan ini hanya mencari masalah, dan orang biasa tidak akan menggunakannya.
Ringkasan: Kaedah lengkok Kanvas ialah cara untuk melukis lengkok positif Ia hanya boleh melukis lengkok positif dan tidak boleh melukis lengkok pelik lain, seperti bentuk-S - walaupun saya paling suka S. -berbentuk.