Rumah hujung hadapan web Tutorial H5 Lukisan Kanvas HTML5 - Gunakan Kanvas untuk melukis grafik dan tutorial teks Gunakan kanvas html5 untuk melukis gambar yang cantik_html5 kemahiran tutorial

Lukisan Kanvas HTML5 - Gunakan Kanvas untuk melukis grafik dan tutorial teks Gunakan kanvas html5 untuk melukis gambar yang cantik_html5 kemahiran tutorial

May 16, 2016 pm 03:46 PM

HTML5 sangat popular Baru-baru ini, saya mempunyai idea untuk menggunakan fungsi berkaitan HTML, jadi saya harus mempelajarinya dengan teliti.

Setelah melihat dengan baik fungsi Canvas, saya merasakan bahawa HTML5 semakin berfungsi dalam interaksi sisi pelanggan Hari ini saya melihat lukisan Kanvas. Berikut adalah beberapa contoh guna.

1. Gunakan Kanvas untuk melukis garis lurus:



Kod XML/HTMLSalin kandungan ke papan keratan
  1. >  
  2. <html>  
  3.     <kepala>  
  4.         <meta charset="UTF- 8">  
  5.     kepala>  
  6.     <gaya taip="teks/ css">  
  7.         kanvas{border:dashed 2px #CCC}   
  8.     gaya>  
  9.     <skrip taip="teks/ javascript">  
  10.         fungsi $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         fungsi pageLoad(){   
  14.              var boleh = $$('boleh');   
  15.              var bolehtin = can.getContext('2d');   
  16.             cans.moveTo(20,30);//第一个起点   
  17.             cans.lineTo(120,90);//第二个点   
  18.             cans.lineTo(220,60);//第三个点(以第二个点为起点)   
  19.              tin.lineWidth=3;   
  20.              tin.strokeStyle = 'merah';   
  21.             cans.stroke();   
  22.         }
  23.  skrip> 
  24.  <badan muat="pageLoad( );">
  25.  <kanvas id="boleh" lebar="400px" tinggi="300px">4kanvas>
  26.  badan> 
  27. html>

Dua kaedah API yang digunakan di sini, moveTo dan lineTo ialah koordinat titik mula dan titik akhir segmen garisan masing-masing, pembolehubah ialah (koordinat X, koordinat Y), strokeStyle dan stroke masing-masing gaya lukisan laluan dan laluan lukisan.

2. Lukiskan garisan kecerunan

Garisan kecerunan mempunyai kesan kecerunan dalam warna Sudah tentu gaya kecerunan boleh mengikut arah laluan atau tidak:

Kod XML/HTMLSalin kandungan ke papan keratan
  1. >  
  2. <html>  
  3.     <kepala>  
  4.         <meta charset="UTF- 8">  
  5.     kepala>  
  6.     <gaya taip="teks/ css">  
  7.         kanvas{border:dashed 2px #CCC}   
  8.     gaya>  
  9.     <skrip taip="teks/ javascript">  
  10.         fungsi $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         fungsi pageLoad(){   
  14.              var boleh = $$('boleh');   
  15.              var bolehtin = can.getContext('2d');   
  16.             cans.moveTo(0,0);   
  17.             cans.lineTo(400,300);   
  18.              var gnt1 = tin.createLinearGradient(0,0,400/碧聽);/昿家标   
  19.             gnt1.addColorStop(0,'red');//创建渐变的开始颜色,0表示偏移量,个人理監的監个人理監的監个人理監的罗个人理秣的开始颜色。最大为1,一个渐变中可以写任意个渐变颜色   
  20.             gnt1.addColorStop(1,'kuning');   
  21.              tin.lineWidth=3;   
  22.             tin.strokeStyle = gnt1;   
  23.             cans.stroke();   
  24.         }
  25.  skrip> 
  26.  <badan muat="pageLoad( );">
  27.  <kanvas id="boleh" lebar="400px" tinggi="300px">4kanvas>
  28.  badan> 
  29. html>

3. Lukiskan segi empat tepat atau segi empat sama:

Jika anda menggunakan HTML4, bingkai segi empat tepat seperti ini hanya boleh dijana menggunakan kod latar belakang Kini fungsi Kanvas yang disediakan oleh HTML5 boleh dilukis dengan mudah, jadi kelebihan HTML5 adalah agak tinggi.

Kod XML/HTMLSalin kandungan ke papan keratan
  1. >  
  2. <html>  
  3.     <kepala>  
  4.         <meta charset="UTF- 8">  
  5.     kepala>  
  6.     <gaya taip="teks/ css">  
  7.         kanvas{border:dashed 2px #CCC}   
  8.     gaya>  
  9.     <skrip taip="teks/ javascript">  
  10.         fungsi $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         fungsi pageLoad(){   
  14.              var boleh = $$('boleh');   
  15.              var bolehtin = can.getContext('2d');   
  16.              tin.fillStyle = 'kuning';   
  17.             cans.fillRect(30,30,340,240);   
  18.         }   
  19.     skrip>  
  20.     <badan memuat="pageLoad( );">  
  21.         <kanvas id="boleh"  lebar="400px" tinggi="300px">4kanvas>   
  22.     badan>  
  23. html>  

Kaedah digunakan di sini - fillRect(). sama seperti koordinat dalam matematik, sila lihat

untuk butiran

X dan Y di sini bermula dari titik permulaan berbanding sudut kiri atas Kanvas, ingat! !

4. Lukiskan kotak segi empat tepat

Contoh di atas bercakap tentang melukis bongkah segi empat tepat dan mengisinya dengan warna Contoh ini hanya melukis segi empat tepat tanpa menyedari kesan pengisian.

Kod XML/HTMLSalin kandungan ke papan keratan
  1. >  
  2. <html>  
  3.     <kepala>  
  4.         <meta charset="UTF- 8">  
  5.     kepala>  
  6.     <gaya taip="teks/ css">  
  7.         kanvas{border:dashed 2px #CCC}   
  8.     gaya>  
  9.     <skrip taip="teks/ javascript">  
  10.         fungsi $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         fungsi pageLoad(){   
  14.              var boleh = $$('boleh');   
  15.              var bolehtin = can.getContext('2d');   
  16.              tin.strokeStyle = 'merah';   
  17.             cans.strokeRect(30,30,340,240);   
  18.         }   
  19.     skrip>  
  20.     <badan memuat="pageLoad( );">  
  21.         <kanvas id="boleh"  lebar="400px" tinggi="300px">4kanvas>   
  22.     badan>  
  23. html>  
  24.   

Ini sangat mudah, sama seperti contoh di atas, hanya gantikan isi dengan pukulan Lihat contoh di atas untuk butiran.

5. Lukis segi empat tepat dengan kecerunan linear

Kecerunan ialah kesan pengisian yang cukup baik dengan Menggabungkan Contoh 2 dan Contoh 3, kita boleh mencipta segi empat tepat kecerunan

Kod XML/HTMLSalin kandungan ke papan keratan
  1. >  
  2. <html>  
  3.     <kepala>  
  4.         <meta charset="UTF- 8">  
  5.     kepala>  
  6.     <gaya taip="teks/ css">  
  7.         kanvas{border:dashed 2px #CCC}   
  8.     gaya>  
  9.     <skrip taip="teks/ javascript">  
  10.         fungsi $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         fungsi pageLoad(){   
  14.              var boleh = $$('boleh');   
  15.              var bolehtin = can.getContext('2d');   
  16.              var gnt1 = tin.createLinearGradient(10,0,390,0);   
  17.             gnt1.addColorStop(0,'red');   
  18.             gnt1.addColorStop(0.5,'hijau');   
  19.             gnt1.addColorStop(1,'biru');   
  20.              cans.fillStyle = gnt1;   
  21.             cans.fillRect(10,10,380,280);   
  22.         }
  23.  skrip> 
  24.  <badan muat="pageLoad( );">
  25.  <kanvas id="boleh" lebar="400px" tinggi="300px">4kanvas>
  26.  badan> 
  27. html>

Tidak perlu jelaskan, cuma ingat fillRect(X,Y,Width,Height).

6. Isi bulatan


Bentuk bulat digunakan secara meluas, termasuk bujur.

Kod XML/HTMLSalin kandungan ke papan keratan
  1. >  
  2. <html>  
  3.     <kepala>  
  4.         <meta charset="UTF- 8">  
  5.     kepala>  
  6.     <gaya taip="teks/ css">  
  7.         kanvas{border:dashed 2px #CCC}   
  8.     gaya>  
  9.     <skrip taip="teks/ javascript">  
  10.         fungsi $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         fungsi pageLoad(){   
  14.              var boleh = $$('boleh');   
  15.              var bolehtin = can.getContext('2d');   
  16.             cans.beginPath();   
  17.             cans.arc(200,150,100,0,Math.PI*2,true);   
  18.             cans.closePath();   
  19.              cans.fillStyle = 'hijau';//本来这里作最这里作最家看,傻眼了,怕上街被爱国者打啊,其实你懂的~~   
  20.             cans.fill();   
  21.         }
  22.  skrip> 
  23.  <badan muat="pageLoad( );">
  24.  <kanvas id="boleh" lebar="400px" tinggi="300px">4kanvas>
  25.  badan> 
  26. html>

Penggunaan kaedah lengkok di sini ialah lengkok(X,Y,Jejari,Sudut mula,sudut hujung,lawan arah jam), yang bermaksud (koordinat X pusat bulatan, koordinat Y pusat bulatan, jejari, sudut mula (radian), sudut hujung radian, sama ada mengikut Lukis mengikut arah jam);

Perbandingan parameter dalam arka:

a.cans.arc(200,150,100,0,Math.PI,true);

c, cans.arc(200,150,100,0,Math.PI/2,true);

c, cans.arc(200,150,100,0,Math.PI/2,true);

d, cans.arc(200,150,100,0,Math.PI/2,false);

7. Blok pekeliling

Kod XML/HTMLSalin kandungan ke papan keratan
  1. >  
  2. <html>  
  3.     <kepala>  
  4.         <meta charset="UTF- 8">  
  5.     kepala>  
  6.     <gaya taip="teks/ css">  
  7.         kanvas{border:dashed 2px #CCC}   
  8.     gaya>  
  9.     <skrip taip="teks/ javascript">  
  10.         fungsi $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         fungsi pageLoad(){   
  14.              var boleh = $$('boleh');   
  15.              var bolehtin = can.getContext('2d');   
  16.             cans.beginPath();   
  17.             cans.arc(200,150,100,0,Math.PI*2,false);   
  18.             cans.closePath();   
  19.              tin.lineWidth = 5;   
  20.              tin.strokeStyle = 'merah';   
  21.             cans.stroke();   
  22.         }
  23.  skrip> 
  24.  <badan muat="pageLoad( );">
  25.  <kanvas id="boleh" lebar="400px" tinggi="300px">4kanvas>
  26.  badan> 
  27. html>

Saya tidak akan menerangkannya di sini Sama seperti contoh di atas, lineWidth mengawal lebar garisan.

8. Kecerunan bulat

Kod XML/HTMLSalin kandungan ke papan keratan
  1. >  
  2. <html>  
  3.     <kepala>  
  4.         <meta charset="UTF- 8">  
  5.     kepala>  
  6.     <gaya taip="teks/ css">  
  7.         kanvas{border:dashed 2px #CCC}   
  8.     gaya>  
  9.     <skrip taip="teks/ javascript">  
  10.         fungsi $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         fungsi pageLoad(){   
  14.              var boleh = $$('boleh');   
  15.              var bolehtin = can.getContext('2d');   
  16.              var gnt = tin.createRadialGradient(200,200,02,00,000);   
  17.             gnt.addColorStop(1,'red');   
  18.             gnt.addColorStop(0,'hijau');   
  19.              cans.fillStyle = gnt;   
  20.             cans.fillRect(0,0,800,600);   
  21.         }
  22.  skrip> 
  23.  <badan muat="pageLoad( );">
  24.  <kanvas id="boleh" lebar="800px" tinggi="600px">4kanvas>
  25.  badan> 
  26. html>

Apa yang perlu dijelaskan di sini ialah kaedah createRadialGradient, parameternya adalah (Xstart, Ystart, radiusStart, XEnd, YEnd, radiusEnd), iaitu, apabila ia melaksanakan kecerunan, ia menggunakan dua bulatan, satu ialah bulatan asal dan satu lagi Ia adalah bulatan kecerunan Malah, kaedah kawalan koordinat dan jejari ini boleh mencapai banyak gaya, seperti

.

Bulatan tiga dimensi

Kod XML/HTMLSalin kandungan ke papan keratan
  1. var gnt = tin.createRadialGradient(200,150,0,200,50,250);
  2. gnt.addColorStop(0,'red');
  3. gnt.addColorStop(1,'#333');
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menambah audio ke laman web html5 saya? Bagaimana untuk menambah audio ke laman web html5 saya? Mar 10, 2025 pm 03:01 PM

Artikel ini menerangkan bagaimana untuk membenamkan audio dalam HTML5 menggunakan & lt; audio & gt; elemen, termasuk amalan terbaik untuk pemilihan format (MP3, Ogg Vorbis), pengoptimuman fail, dan kawalan JavaScript untuk main balik. Ia menekankan menggunakan pelbagai audio f

Bagaimana cara menggunakan borang HTML5 untuk input pengguna? Bagaimana cara menggunakan borang HTML5 untuk input pengguna? Mar 10, 2025 pm 02:59 PM

Artikel ini menerangkan cara membuat dan mengesahkan borang HTML5. Ia memperincikan & lt; form & gt; Unsur, jenis input (teks, e -mel, nombor, dll), dan atribut (diperlukan, corak, min, max). Kelebihan bentuk html5 berbanding kaedah yang lebih lama, termasuk

Bagaimanakah saya mengendalikan privasi dan keizinan lokasi pengguna dengan API Geolokasi? Bagaimanakah saya mengendalikan privasi dan keizinan lokasi pengguna dengan API Geolokasi? Mar 18, 2025 pm 02:16 PM

Artikel ini membincangkan menguruskan privasi dan keizinan lokasi pengguna menggunakan API Geolocation, menekankan amalan terbaik untuk meminta kebenaran, memastikan keselamatan data, dan mematuhi undang -undang privasi.

Bagaimanakah saya menggunakan API Penglihatan Halaman Html5 untuk mengesan apabila halaman dapat dilihat? Bagaimanakah saya menggunakan API Penglihatan Halaman Html5 untuk mengesan apabila halaman dapat dilihat? Mar 13, 2025 pm 07:51 PM

Artikel ini membincangkan menggunakan API Penglihatan Halaman HTML5 untuk mengesan penglihatan halaman, meningkatkan pengalaman pengguna, dan mengoptimumkan penggunaan sumber. Aspek utama termasuk berhenti media, mengurangkan beban CPU, dan menguruskan analisis berdasarkan perubahan penglihatan.

Bagaimanakah saya menggunakan tag meta viewport untuk mengawal skala halaman pada peranti mudah alih? Bagaimanakah saya menggunakan tag meta viewport untuk mengawal skala halaman pada peranti mudah alih? Mar 13, 2025 pm 08:00 PM

Artikel ini membincangkan menggunakan tag meta viewport untuk mengawal skala halaman pada peranti mudah alih, memberi tumpuan kepada tetapan seperti lebar dan skala awal untuk respons dan prestasi optimum.

Bagaimana untuk membuat permainan interaktif dengan HTML5 dan JavaScript? Bagaimana untuk membuat permainan interaktif dengan HTML5 dan JavaScript? Mar 10, 2025 pm 06:34 PM

Butiran artikel ini mewujudkan permainan HTML5 interaktif menggunakan JavaScript. Ia meliputi reka bentuk permainan, struktur HTML, gaya CSS, logik JavaScript (termasuk pengendalian acara dan animasi), dan integrasi audio. Perpustakaan JavaScript Penting (Phaser, PI

Bagaimanakah saya menggunakan API Drag dan Drop HTML5 untuk antara muka pengguna interaktif? Bagaimanakah saya menggunakan API Drag dan Drop HTML5 untuk antara muka pengguna interaktif? Mar 18, 2025 pm 02:17 PM

Artikel ini menerangkan cara menggunakan API Drag dan Drop HTML5 untuk mewujudkan antara muka pengguna interaktif, memperincikan langkah -langkah untuk membuat unsur -unsur menyeret, mengendalikan peristiwa utama, dan meningkatkan pengalaman pengguna dengan maklum balas tersuai. Ia juga membincangkan perangkap biasa dengan a

Bagaimanakah saya menggunakan API WebSockets HTML5 untuk komunikasi dua arah antara klien dan pelayan? Bagaimanakah saya menggunakan API WebSockets HTML5 untuk komunikasi dua arah antara klien dan pelayan? Mar 12, 2025 pm 03:20 PM

Artikel ini menerangkan API WebSockets HTML5 untuk komunikasi pelayan klien bidirectional masa nyata. Ia memperincikan pelaksanaan klien (JavaScript) dan pelayan (python/flask), menangani cabaran seperti skalabilitas, pengurusan negeri,

See all articles