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
- >
-
<html>
-
<kepala>
-
<meta charset="UTF- 8">
-
kepala>
-
<gaya taip="teks/ css">
- kanvas{border:dashed 2px #CCC}
-
gaya>
-
<skrip taip="teks/ javascript">
- fungsi $$(id){
- return document.getElementById(id);
- }
- fungsi pageLoad(){
-
var boleh = $$('boleh');
-
var bolehtin = can.getContext('2d');
- cans.moveTo(20,30);//第一个起点
- cans.lineTo(120,90);//第二个点
- cans.lineTo(220,60);//第三个点(以第二个点为起点)
-
tin.lineWidth=3;
-
tin.strokeStyle = 'merah';
- cans.stroke();
- }
-
skrip>
-
<badan muat="pageLoad( );">
-
<kanvas id="boleh" lebar="400px" tinggi="300px">4kanvas>
-
badan>
-
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
- >
-
<html>
-
<kepala>
-
<meta charset="UTF- 8">
-
kepala>
-
<gaya taip="teks/ css">
- kanvas{border:dashed 2px #CCC}
-
gaya>
-
<skrip taip="teks/ javascript">
- fungsi $$(id){
- return document.getElementById(id);
- }
- fungsi pageLoad(){
-
var boleh = $$('boleh');
-
var bolehtin = can.getContext('2d');
- cans.moveTo(0,0);
- cans.lineTo(400,300);
-
var gnt1 = tin.createLinearGradient(0,0,400/碧聽);/昿家标
- gnt1.addColorStop(0,'red');//创建渐变的开始颜色,0表示偏移量,个人理監的監个人理監的監个人理監的罗个人理秣的开始颜色。最大为1,一个渐变中可以写任意个渐变颜色
- gnt1.addColorStop(1,'kuning');
-
tin.lineWidth=3;
-
tin.strokeStyle = gnt1;
- cans.stroke();
- }
-
skrip>
-
<badan muat="pageLoad( );">
-
<kanvas id="boleh" lebar="400px" tinggi="300px">4kanvas>
-
badan>
-
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
- >
-
<html>
-
<kepala>
-
<meta charset="UTF- 8">
-
kepala>
-
<gaya taip="teks/ css">
- kanvas{border:dashed 2px #CCC}
-
gaya>
-
<skrip taip="teks/ javascript">
- fungsi $$(id){
- return document.getElementById(id);
- }
- fungsi pageLoad(){
-
var boleh = $$('boleh');
-
var bolehtin = can.getContext('2d');
-
tin.fillStyle = 'kuning';
- cans.fillRect(30,30,340,240);
- }
-
skrip>
-
<badan memuat="pageLoad( );">
-
<kanvas id="boleh" lebar="400px" tinggi="300px">4kanvas>
-
badan>
-
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
- >
-
<html>
-
<kepala>
-
<meta charset="UTF- 8">
-
kepala>
-
<gaya taip="teks/ css">
- kanvas{border:dashed 2px #CCC}
-
gaya>
-
<skrip taip="teks/ javascript">
- fungsi $$(id){
- return document.getElementById(id);
- }
- fungsi pageLoad(){
-
var boleh = $$('boleh');
-
var bolehtin = can.getContext('2d');
-
tin.strokeStyle = 'merah';
- cans.strokeRect(30,30,340,240);
- }
-
skrip>
-
<badan memuat="pageLoad( );">
-
<kanvas id="boleh" lebar="400px" tinggi="300px">4kanvas>
-
badan>
-
html>
-
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
- >
-
<html>
-
<kepala>
-
<meta charset="UTF- 8">
-
kepala>
-
<gaya taip="teks/ css">
- kanvas{border:dashed 2px #CCC}
-
gaya>
-
<skrip taip="teks/ javascript">
- fungsi $$(id){
- return document.getElementById(id);
- }
- fungsi pageLoad(){
-
var boleh = $$('boleh');
-
var bolehtin = can.getContext('2d');
-
var gnt1 = tin.createLinearGradient(10,0,390,0);
- gnt1.addColorStop(0,'red');
- gnt1.addColorStop(0.5,'hijau');
- gnt1.addColorStop(1,'biru');
-
cans.fillStyle = gnt1;
- cans.fillRect(10,10,380,280);
- }
-
skrip>
-
<badan muat="pageLoad( );">
-
<kanvas id="boleh" lebar="400px" tinggi="300px">4kanvas>
-
badan>
-
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
- >
-
<html>
-
<kepala>
-
<meta charset="UTF- 8">
-
kepala>
-
<gaya taip="teks/ css">
- kanvas{border:dashed 2px #CCC}
-
gaya>
-
<skrip taip="teks/ javascript">
- fungsi $$(id){
- return document.getElementById(id);
- }
- fungsi pageLoad(){
-
var boleh = $$('boleh');
-
var bolehtin = can.getContext('2d');
- cans.beginPath();
- cans.arc(200,150,100,0,Math.PI*2,true);
- cans.closePath();
-
cans.fillStyle = 'hijau';//本来这里作最这里作最家看,傻眼了,怕上街被爱国者打啊,其实你懂的~~
- cans.fill();
- }
-
skrip>
-
<badan muat="pageLoad( );">
-
<kanvas id="boleh" lebar="400px" tinggi="300px">4kanvas>
-
badan>
-
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/HTML
Salin kandungan ke papan keratan
- >
-
<html>
-
<kepala>
-
<meta charset="UTF- 8">
-
kepala>
-
<gaya taip="teks/ css">
- kanvas{border:dashed 2px #CCC}
-
gaya>
-
<skrip taip="teks/ javascript">
- fungsi $$(id){
- return document.getElementById(id);
- }
- fungsi pageLoad(){
-
var boleh = $$('boleh');
-
var bolehtin = can.getContext('2d');
- cans.beginPath();
- cans.arc(200,150,100,0,Math.PI*2,false);
- cans.closePath();
-
tin.lineWidth = 5;
-
tin.strokeStyle = 'merah';
- cans.stroke();
- }
-
skrip>
-
<badan muat="pageLoad( );">
-
<kanvas id="boleh" lebar="400px" tinggi="300px">4kanvas>
-
badan>
-
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
- >
-
<html>
-
<kepala>
-
<meta charset="UTF- 8">
-
kepala>
-
<gaya taip="teks/ css">
- kanvas{border:dashed 2px #CCC}
-
gaya>
-
<skrip taip="teks/ javascript">
- fungsi $$(id){
- return document.getElementById(id);
- }
- fungsi pageLoad(){
-
var boleh = $$('boleh');
-
var bolehtin = can.getContext('2d');
-
var gnt = tin.createRadialGradient(200,200,02,00,000);
- gnt.addColorStop(1,'red');
- gnt.addColorStop(0,'hijau');
-
cans.fillStyle = gnt;
- cans.fillRect(0,0,800,600);
- }
-
skrip>
-
<badan muat="pageLoad( );">
-
<kanvas id="boleh" lebar="800px" tinggi="600px">4kanvas>
-
badan>
-
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
-
var gnt = tin.createRadialGradient(200,150,0,200,50,250);
- gnt.addColorStop(0,'red');
- gnt.addColorStop(1,'#333');