Rumah  >  Artikel  >  hujung hadapan web  >  Cara melukis poligon seperti segi tiga dan segi empat tepat dengan petua tutorial HTML5 Canvas_html5

Cara melukis poligon seperti segi tiga dan segi empat tepat dengan petua tutorial HTML5 Canvas_html5

WBOY
WBOYasal
2016-05-16 15:51:501687semak imbas

Sifat dan kaedah utama objek CanvasRenderingContext2D yang diperlukan untuk melukis poligon menggunakan HTML5 Canvas (yang mempunyai "()" ialah kaedah) adalah seperti berikut:

属性或方法 基本描述
strokeStyle 用于设置画笔绘制路径的颜色、渐变和模式。该属性的值可以是一个表示css颜色值的字符串。如果你的绘制需求比较复杂,该属性的值还可以是一个CanvasGradient对象或者CanvasPattern对象
globalAlpha 定义绘制内容的透明度,取值在0.0(完全透明)和1.0(完全不透明)之间,默认值为1.0。
lineWidth 定义绘制线条的宽度。默认值是1.0,并且这个属性必须大于0.0。较宽的线条在路径上居中,每边各有线条宽的一半。
lineCap 指定线条两端的线帽如何绘制。合法的值是 butt、round和square。默认值是"butt"。
beginPath() 开始一个新的绘制路径。每次绘制新的路径之前记得调用该方法。
moveTo(int x, int y) 定义一个新的绘制路径的起点坐标
lineTo(int x, int y) 定义一个绘制路径的中间点坐标
stroke(int x, int y) 沿着绘制路径的坐标点顺序绘制直线
closePath() 如果当前的绘制路径是打开的,则闭合该绘制路径。

Lukis segitiga

Kod JavaScriptSalin kandungan ke papan keratan
  1. "UTF-8"
  2. > Contoh Lukisan Kanvas HTML5 Bermula
  3. "myCanvas"
  4. lebar=
  5. "400px"
  6. tinggi=
  7. "300px"
  8. style="sempadan: 1px merah pepejal;"> Pelayar anda tidak menyokong teg kanvas.
  9. "teks/javascript"
  10. >
  11. //Dapatkan objek Kanvas (kanvas)
  12. var kanvas = document.getElementById("myCanvas"
  13. );
  14. //Cukup mengesan sama ada penyemak imbas semasa menyokong objek Canvas untuk mengelakkan ralat sintaks dalam sesetengah penyemak imbas yang tidak menyokong html5
  15. jika(canvas.getContext){ 
  16. //Dapatkan objek CanvasRenderingContext2D (berus) yang sepadan
  17.  
  18. var
  19. ctx = canvas.getContext("2d"); 
  20.  
  21. //Mulakan laluan lukisan baharu
  22. ctx.beginPath();
  23. //Tetapkan warna garisan kepada biru
  24. ctx.strokeStyle = "biru";
  25. //Tetapkan koordinat titik permulaan laluan
  26. ctx.moveTo(20, 50);
  27. //Lukis segmen garis lurus ke titik koordinat (60, 50)
  28. ctx.lineTo(20, 100);
  29. //Lukis segmen garis lurus ke titik koordinat (60, 90)
  30. ctx.lineTo(70, 100);
  31. //Tutup laluan lukisan dahulu. Ambil perhatian bahawa garis lurus akan digunakan untuk menyambungkan titik akhir semasa dan titik akhir permulaan.
  32. ctx.closePath();
  33. //Akhir sekali, lukis garis lurus mengikut laluan lukisan
  34. ctx.stroke();
  35. }
  36. Kesan paparan yang sepadan adalah seperti berikut:
    2016314112438272.png (421×318)

    Melukis segi empat tepat
    Sebab mengapa segi empat tepat lukisan Kanvas disebut secara berasingan adalah kerana objek berus Canvas-CanvasRenderingContext2D menyediakan kaedah khusus untuk melukis segi empat tepat.

    Kod XML/HTMLSalin kandungan ke papan keratan
    1. >
    2. <html>
    3. <kepala>
    4. <meta charset="UTF- 8"> 
    5. <tajuk>Contoh Segiempat Lukisan Kanvas HTML5 Bermula< / tajuk>
    6. kepala>
    7. <badan>
    8. <kanvas id="myCanvas" lebar="400px" tinggi="300px" gaya="sempadan: 1px merah pepejal;">
    9. Pelayar anda tidak menyokong teg kanvas.
    10. kanvas>
    11. <skrip taip="teks/ javascript">
    12. //Dapatkan objek Kanvas (kanvas)
    13. var kanvas = dokumen.getElementById("myCanvas");
    14. //Cukup mengesan sama ada penyemak imbas semasa menyokong objek Kanvas untuk mengelakkan ralat sintaks dalam sesetengah penyemak imbas yang tidak menyokong html5
    15. jika(canvas.getContext){
    16. //Dapatkan objek CanvasRenderingContext2D yang sepadan (berus)
    17. var
    18. ctx = kanvas.getContext("2d");  
    19. //Mulakan laluan lukisan baharu
    20. ctx.beginPath();
    21. //Tetapkan warna garisan kepada biru
    22. ctx.strokeStyle
    23. = "biru" //Menggunakan titik koordinat (10,10) dalam kanvas sebagai titik permulaan lukisan, lukis segi empat tepat dengan lebar 80px dan ketinggian 50px
    24. ctx.rect(10, 10, 80, 50);
    25. //Lukis garis lurus mengikut laluan yang ditentukan
    26. ctx.stroke();
    27. //Tutup laluan lukisan
    28. ctx.closePath();
    29. }
    30. skrip
    31. >
    32. badan
    33. >
    34. html
    35. > Kesan segi empat tepat yang sepadan dipaparkan seperti berikut:
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