


html5 Tutorial lukisan kanvas (2)—Melukis garis lurus dan menetapkan gaya garisan seperti kemahiran tutorial warna/titik akhir/simpang_html5
Jika anda masih tidak tahu apa itu Kanvas, anda boleh membaca artikel sebelumnya Semasa belajar melukis, garisan adalah yang paling asas, dan sambungan garisan boleh membentuk sebarang grafik. Perkara yang sama berlaku dalam Kanvas.
Sebelum kita mula, mari keluarkan kanvas dan berus:
var ctx = cvs.getContext('2d'); 🎜> Jom lukis Semasa menulis, titik permulaan tidak tetap dan boleh berubah pada bila-bila masa. Walaupun kanvas tidak menentukan titik penulisan dengan tangan, terdapat kaedah, iaitu moveTo. Fungsi moveTo adalah bersamaan dengan mengangkat hujung pen dari kanvas dan kemudian mengalihkannya ke titik yang ditentukan (iaitu, koordinat).
Salin kod
Tetapi tidak ada gunanya berjuntai-juntai, kita perlu mula melukis. Mari kita lukis yang paling mudah dahulu: garis lurus
Kaedah melukis garis lurus ialah lineTo Parameternya adalah sama dengan moveTo, iaitu titik.
Salin kod
Apabila anda memuat semula halaman web, anda akan mendapati bahawa tiada garis yang dijangkakan pada kanvas, tiada apa-apa. Kerana kita kehilangan satu langkah lineTo sebenarnya adalah "laluan" yang dilukis, yang dengan sendirinya tidak kelihatan. Jika kita mahu dia dipamerkan, kita mesti "melukis" dia.
Pelajar yang pernah menggunakan PS pasti tahu dua mod grafik, satu fill dan satu lagi stroke. Sekarang kita telah melukis garisan, ia bersamaan dengan melukis laluan dalam PS Pada masa ini, kita boleh melukis tepi laluan dan grafik akan dipaparkan.
Kaedah sapuan kanvas ialah sapuan(). Sekarang mari kita lengkapkan kod:
Salin kod
Salin kod
Kodnya adalah seperti berikut:
Salin kod
Kod adalah seperti berikut:
ctx.lineWidth = 10 ;
ctx.strokeStyle = 'rgba(255,0,0,0.5)';
Kod di atas menetapkan lebar garisan kepada 10px dan warna garisan kepada merah lut sinar.
Soalan: Jika laluan segi empat tepat yang saya lukis mempunyai lebar dan tinggi 100, dan lebar garisan sisi saya ialah 10px, apakah lebar dan tinggi keseluruhan segi empat tepat dengan sisi yang dilukis? Adakah 100 10*2=120?
Jika tepi dilukis sepenuhnya di luar laluan, ia akan menjadi 120. Tetapi Kanvas tidak. Semua garisan dalam Kanvas mempunyai "garisan tengah", yang terletak di tengah-tengah garisan mutlak. Sebagai contoh, jika lebar garisan anda ialah 1, maka garisan tengah ialah 0.5; jika lebarnya ialah 5, maka garisan tengah ialah 2.5; Apabila grafik kanvas diusap, laluan dijajarkan dengan garis tengah garisan dan kemudian diusap. Seperti yang ditunjukkan dalam Rajah 2:
Jadi, apabila menyurih, separuh daripada garisan berada di bahagian luar dan separuh di bahagian dalam iaitu lebar keseluruhan segi empat tepat di atas ialah 100 (10/2)*2, iaitu bersamaan dengan 110. <.>Itulah sebabnya bahagian kiri atas Ia adalah lumrah untuk sudut kelihatan sumbing. Kerana tiada siapa melukis di sini.
Tetapi mengapa selebihnya sudut tidak bertakuk? Nampak tak pada keempat-empat penjuru gambar anda ada celah?
Itu kerana saya tidak "mengangkat" berus semasa saya melukis garisan Berus itu berterusan, iaitu, tiada pergerakanKe. Jika anda tidak percaya, mari beralihKe sekarang:
Kami bergerakKe sebelum melukis baris kedua, dan koordinat moveTo tidak berubah, tetapi selepas menyegarkan, graf menjadi seperti ini. Gambar 3]:
Faham? Kerana kami mengangkat pen.
Sekarang mari padamkan moveTo dan berhenti bimbang tentangnya. Mari kita fikirkan cara mengisi sudut yang hilang di sudut kiri atas?
Pertama sekali, izinkan saya bertanya, adakah laluan kita tertutup? Bukankah ini mengarut? Sudah tentu ia ditutup!
Bagaimana untuk menutup laluan dalam Kanvas? Gunakan closePath(). ctx.moveTo( 100,100); ctx.closePath( );//Closed path
ctx.lineWidth = 10;
ctx.strokeStyle = 'rgba(255,0,0,0.5)'; >
Segarkan pada masa ini dan ia akan menjadi segi empat sama yang sempurna. Rajah 4:
Setebal mana pun kita buat garisan - lagi tebal garisan, lagi ramai yang suka kan? ————Empat penjuru petak ini ialah sudut tegak sekata dan tidak akan dibulatkan. Bagaimana pula dengan sudut bulat? Sila lihat lejang segi empat sama dalam PS, Rajah 5:
Seperti yang anda lihat, semakin tebal tepi, semakin besar lengkok sudutnya.
Jika saya mahu tepi dalam Canvas sama dengan yang ada di PS, adakah caranya? Sudah tentu, ia adalah atribut lineJoin.
lineJoin, bermaksud persilangan garisan, mempunyai tiga sifat: miter (lalai, sudut tajam), bevel (serong), bulat (bucu bulat), seperti yang ditunjukkan dalam Rajah 6:

Di sana tidak syak lagi bahawa kita dapat memahami sekali gus bahawa segi empat tepat kita mempunyai bucu tajam, jadi cuba ubahnya kepada bucu bulat:
Grafik menjadi seperti ini, Rajah 7:

Sedikit seperti PS , betul tak?
Selain itu, dari gambar sebelum ini, kita tahu bahawa hujung garisan Kanvas adalah rata. Bolehkah ini diubah? Lagipun, ia rata dan tidak kelihatan baik.
juga mungkin, iaitu atribut lineCap, yang mentakrifkan titik akhir baris. lineCap mempunyai 3 nilai: punggung (rata, lalai), bulat (bulatan), persegi (segi empat sama), seperti yang ditunjukkan dalam Rajah 8

Anda boleh mengetahui dengan melihat gambar yang sebenarnya kepala rata dan kepala segi empat sama sahaja. Kedua-dua kepala bulat dan kepala persegi akan menonjol untuk seketika. Itu separuh daripada lebar garisan.
Adakah anda terfikir sesuatu? Haha, untuk masalah laluan tertutup sebelum ini, jika kita set lineCap kepada kepala persegi, kesannya akan sama!
Tetapi demi keselamatan, kita masih perlu menutup laluan, ingat!
Saya juga ingin mengingatkan anda: laluan tertutup tidak mempunyai titik akhir! Oleh itu, gaya titik akhir tidak boleh dilihat pada laluan tertutup.
Juga: lineCap agak serupa dengan lineJoin, berhati-hati agar tidak mengelirukan mereka.
Jika anda mempunyai mata yang tajam dan tidak bernasib baik, anda mungkin mendapati kadangkala garisan 1 piksel tidak lebar 1 piksel, tetapi kelihatan lebih luas dan kabur. Seperti yang ditunjukkan dalam Rajah 9:

Tahniah anda telah menemui pepijat yang bukan pepijat. Ini sangat istimewa saya akan membincangkannya dalam artikel seterusnya.

H5 menyediakan pelbagai ciri dan fungsi baru, sangat meningkatkan keupayaan pembangunan front-end. 1. Sokongan Multimedia: Media Media Melalui dan Elemen, Tiada Plug-Ins diperlukan. 2. Kanvas: Gunakan elemen untuk menjadikan grafik dan animasi 2D secara dinamik. 3. Penyimpanan Tempatan: Melaksanakan penyimpanan data berterusan melalui LocalStorage dan sessionStorage untuk meningkatkan pengalaman pengguna.

H5 dan HTML5 adalah konsep yang berbeza: HTML5 adalah versi HTML, yang mengandungi unsur -unsur baru dan API; H5 adalah rangka kerja pembangunan aplikasi mudah alih berdasarkan HTML5. HTML5 Parses dan membuat kod melalui pelayar, manakala aplikasi H5 perlu menjalankan bekas dan berinteraksi dengan kod asli melalui JavaScript.

Unsur -unsur utama HTML5 termasuk ,,,,,, dan lain -lain, yang digunakan untuk membina laman web moden. 1. Tentukan kandungan kepala, 2.

Tidak ada perbezaan antara HTML5 dan H5, iaitu singkatan HTML5. 1.HTML5 adalah versi kelima HTML, yang meningkatkan fungsi multimedia dan interaktif laman web. 2.H5 sering digunakan untuk merujuk kepada laman web atau aplikasi mudah alih berasaskan HTML5, dan sesuai untuk pelbagai peranti mudah alih.

HTML5 adalah versi terkini bahasa markup hiperteks, yang diseragamkan oleh W3C. HTML5 memperkenalkan tag semantik baru, sokongan multimedia dan peningkatan bentuk, meningkatkan struktur web, pengalaman pengguna dan kesan SEO. HTML5 memperkenalkan tag semantik baru, seperti,, dan lain -lain, untuk menjadikan struktur laman web lebih jelas dan kesan SEO lebih baik. HTML5 menyokong elemen multimedia dan tiada pemalam pihak ketiga diperlukan, meningkatkan pengalaman pengguna dan kelajuan memuatkan. HTML5 meningkatkan fungsi bentuk dan memperkenalkan jenis input baru seperti, dan lain -lain, yang meningkatkan pengalaman pengguna dan membentuk kecekapan pengesahan.

Bagaimana cara menulis kod HTML5 yang bersih dan cekap? Jawapannya adalah untuk mengelakkan kesilapan biasa dengan tag semantik, kod berstruktur, pengoptimuman prestasi dan mengelakkan kesilapan biasa. 1. Gunakan tag semantik seperti, dan lain -lain untuk meningkatkan kebolehbacaan kod dan kesan SEO. 2. Pastikan kod berstruktur dan boleh dibaca, menggunakan lekukan dan komen yang sesuai. 3. Mengoptimumkan prestasi dengan mengurangkan tag yang tidak perlu, menggunakan CDN dan kod pemampatan. 4. Elakkan kesilapan biasa, seperti tag tidak ditutup, dan pastikan kesahihan kod.

H5 meningkatkan pengalaman pengguna web dengan sokongan multimedia, penyimpanan luar talian dan pengoptimuman prestasi. 1) Sokongan multimedia: H5 dan Elemen Memudahkan pembangunan dan meningkatkan pengalaman pengguna. 2) Penyimpanan Luar Talian: WebStorage dan IndexedDB membenarkan penggunaan luar talian untuk meningkatkan pengalaman. 3) Pengoptimuman Prestasi: Pekerja web dan elemen mengoptimumkan prestasi untuk mengurangkan penggunaan jalur lebar.

Kod HTML5 terdiri daripada tag, elemen dan atribut: 1. Tag mentakrifkan jenis kandungan dan dikelilingi oleh kurungan sudut, seperti. 2. Unsur terdiri daripada tag permulaan, kandungan dan tag akhir, seperti kandungan. 3. Atribut menentukan pasangan nilai utama dalam tag permulaan, meningkatkan fungsi, seperti. Ini adalah unit asas untuk membina struktur web.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma
