Rumah  >  Artikel  >  hujung hadapan web  >  Koleksi kod contoh lukisan asas Kanvas HTML5 kemahiran tutorial kod_html5

Koleksi kod contoh lukisan asas Kanvas HTML5 kemahiran tutorial kod_html5

WBOY
WBOYasal
2016-05-16 15:45:461626semak imbas

Lukisan asas

Kod XML/HTMLSalin kandungan ke papan keratan
  1. var kanvas = dokumen.getElementById('canvas'); >
  2. jika (canvas.getContext) {
  3. var
  4. konteks = kanvas.getContext('2d'); // Lebar garisan
  5. konteks.lineWidth
  6. = 4 // Warna berus
  7. context.strokeStyle
  8. = 'merah' // Warna isian
  9. context.fillStyle
  10. = "merah" // Jenis penutup baris
  11.  
  12. context.lineCap
  13. = 'punggung'; // bulat, segi empat sama  // Mulakan laluan
  14. context.beginPath();
  15. // Titik permulaan
  16. context.moveTo(10,10);
  17. // Titik tamat
  18. context.lineTo(150,50);
  19. // Melukis
  20. context.stroke();
  21.  
  22. Segi empat tepat

Kod XML/HTML
Salin kandungan ke papan keratan

var kanvas
=
  1. dokumen.getElementById('canvas'); > jika (canvas.getContext) { context.beginPath();
  2. context.strokeRect(10,10,70,40);
  3. // Satu lagi cara segi empat tepat
  4. context.rect(10,10.70,40);
  5. context.stroke();
  6.  
  7. // segi empat tepat pepejal
  8. context.beginPath();
  9. context.fillRect(10,10,70,40);
  10. // Segi empat tepat pepejal cara lain
  11. context.beginPath();
  12. context.rect(10,10,70,40);
  13. context.fill();
  14.  
  15. Bulat
  16. Kod XML/HTMLSalin kandungan ke papan keratan
    1. var kanvas = dokumen.getElementById('canvas'); >
    2. jika (canvas.getContext) {
    3. context.beginPath();
    4. // Koordinat tengah bulatan x, koordinat pusat bulatan Y, jejari lengkok, sudut permulaan, sudut penamat, sama ada mengikut lawan jam
    5. // Parameter keempat dan kelima ialah radian yang akan dihantar. Jika anda melukis sudut 30, anda perlu menukarnya kepada radian 30 * Math.PI / 180
    6. context.arc(100,100,70,0,130 * Math.PI / 180, benar);
    7. context.stroke();
    8. context.fill();
    9.  
    Sudut bulat


Kod XML/HTML

Salin kandungan ke papan keratan
var
  1. kanvas = dokumen.getElementById('canvas'); > jika (canvas.getContext) {
  2. context.beginPath();
  3. context.moveTo(20,20);
  4. context.lineTo(70,20);
  5. // Lukis lengkok p1.x p1.y p2.x, jejari lengkok p2.y untuk laluan,
  6. context.arcTo(120,30,120,70, 50);
  7. context.lineTo(120,120);
  8. context.stroke();
  9.  
  10. // Padam papan seni kanvas
  11. context.beginPath();
  12. context.fillRect(10,10,200,100);
  13.  
  14. // Padam kawasan
  15. context.clearRect(30,30,50,50);
  16. Keluk Bezier Kuadratik
  17. Kod XML/HTML
  18. Salin kandungan ke papan keratan
var
kanvas

=

dokumen
.getElementById('canvas'); > jika (canvas.getContext) {
    context.beginPath();
  1. context.moveTo(100,100); context.quadraticCurveTo(20,50,200,20); context.stroke();
  2. Keluk Bezier Kubik
  3. Kod XML/HTML
  4. Salin kandungan ke papan keratan
    1. var kanvas = dokumen.getElementById('canvas');   
    2. jika (canvas.getContext) {   
    3.      context.moveTo(68,130);   
    4.       var cX1 = 20;   
    5.       var cY1 = 10;   
    6.       var cX2 = 268;   
    7.       var cY2 = 10;   
    8.       var endX = 268;   
    9.       var endY = 170;   
    10.      context.bezierCurveTo(cX1, cY1, cX2, cY2, endX, endY);   
    11.      context.stroke();   
    12.         
    13.     // 利用klip指定绘图区域,指定绘图区域之后,只能在绘图区域中瓜莬>
    14.     // 绘制圆形   
    15.     context.arc(100,100,40,0, 360 * Math.PI/ 180 , true);   
    16.     // 限制区域   
    17.     context.clip();   
    18.     // 开始尝试绘制其他   
    19.     context.beginPath();   
    20.     context.fillStyle = 'biru muda';   
    21.     // 结果矩形并没有显示出来   
    22.     context.fillRect(0,0,300,150);   
    23. }  

画板进阶使用

Kod XML/HTML复制内容到剪贴板
  1. var kanvas = dokumen.getElementById('canvas'); >
  2. jika (canvas.getContext) {
  3. var
  4. konteks = kanvas.getContext('2d'); /*
  5. * drawImage(imej,dx,dy)
  6. * drawImage(imej,dx,dy,dw,dh)
  7. * drawImage(imej,sx,sy,sw,sh,dx,dy,dw,dh
  8. );
  9. * objek lukisan imej
  10. * Koordinat dx dy kanvas
  11. * dw, dh menunjukkan kedudukan imej dalam kanvas yang hendak dilukis
  12. * sw, sh mewakili kawasan imej yang hendak dilukis
  13. * sx,sy Kedudukan permulaan lukisan yang hendak dilukis
  14. */
  15. var
  16. imej
  17. = dokumen.getElementById('img'); context.drawImage(imej, 0, 0); var
  18. img
  19. =
  20. baharu
  21. Imej(  img.src =
  22. 'imej/1.jpg'
  23. img.onload =
  24. fungsi
  25. (){                                             // drawImage
  26. // Mula melukis dari 0,0 koordinat
  27. // context.drawImage(img,0,0);
  28. // Bermula dari 0, 0, lukis keseluruhan gambar hingga 100,100 panjang dan lebar
  29. // context.drawImage(img, 0, 0, 100, 100);
  30. // Tangkapan skrin, 50,50 hingga 100,100 Mula melukis dari 260,130 dan letakkan dalam kawasan 100,100 panjang dan lebar
  31. // context.drawImage(img, 50, 50, 100,100, 260, 130, 100, 100);
  32.                                            
  33. // Gunakan getImageData dan putImageData untuk melukis gambar
  34. context.drawImage(img, 10, 10);
  35. // Dapatkan data piksel daripada papan seni
  36. // Kedudukan mula, kedudukan tamat
  37. var
  38. imgData
  39. =
  40. konteks
  41. .getImageData(50,50,100,100);
  42. // Lukis data ke koordinat kedudukan yang ditentukan pada papan lukisan
  43. context.putImageData(imgData,10,260);
  44. // Lukis sebahagian daripada data piksel ke papan lukisan
  45. context.putImageData(imgData,200,260,50,50,100,100);
  46.                                            
  47. // createImageData Cipta piksel
  48. var
  49. imgData
  50. =
  51. konteks.getImageData(50,50,200,200); // Cipta objek kosong dengan saiz yang ditentukan var
  52. imgData01
  53. =
  54. konteks
  55. .createImageData(imgData);                                                   untuk (i =
  56. 0
  57. ; i
  58. <
  59. imgData01.width * imgData01.height * 4; i =4) { // Piksel merah imgData01.data[i 0] = 255; imgData01.data[i 1] = 0; imgData01.data[i 2] = 0;
  60. imgData01.data[i 3] = 255;
  61.                                             
  62.                                                                      
  63. context.putImageData(imgData01, 10, 260);
  64. }  
  65. }
Kenyataan:
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