Rumah > hujung hadapan web > Tutorial H5 > Melaksanakan fungsi pemadam menggunakan kaedah clearRect() dalam petua tutorial HTML5 Canvas API_html5

Melaksanakan fungsi pemadam menggunakan kaedah clearRect() dalam petua tutorial HTML5 Canvas API_html5

WBOY
Lepaskan: 2016-05-16 15:51:53
asal
1983 orang telah melayarinya

Dalam dunia nyata, kami menggunakan berus untuk melukis pada papan lukisan; dalam kanvas html5, kami juga boleh menggunakan berus kanvas - objek CanvasRenderingContext2D untuk melukis pada kanvas. Seperti yang kita sedia maklum, berus kami biasanya digunakan bersama pemadam untuk membetulkan kesilapan semasa proses mengecat dan mengecat semula. Dalam kanvas html5, objek CanvasRenderingContext2D juga memberikan kita pemadam yang boleh digunakan semula selama-lamanya - kaedah clearRect().

Kod XML/HTMLSalin kandungan ke papan keratan
  1. clearRect(x, y, lebar, tinggi)

Kaedah clearRect() bagi objek CanvasRenderingContext2D digunakan untuk mengosongkan semua piksel grafik dalam kawasan segi empat tepat kanvas dengan titik koordinat (x, y) yang ditentukan sebagai sudut kiri atas, lebar sebagai lebar dan tinggi sebagai ketinggian.

Sekarang, mari lihat contoh praktikal. Kami mula-mula melukis bulatan pepejal dengan jejari 50px, dan kemudian gunakan pemadam clearRect() untuk memadamkan kawasan setempat di dalamnya. Kod html5 asal untuk melukis bulatan adalah seperti berikut:

Kod JavaScriptSalin kandungan ke papan keratan
  1. "UTF-8"
  2. > Contoh permulaan menggunakan HTML5 clearRect() untuk memadamkan kawasan segi empat tepat
  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. var
  18. ctx = canvas.getContext("2d");
  19.  
  20. //Lukis bulatan dengan titik koordinat (100,10) sebagai pusat dan jejari 50px
  21. ctx.arc(100, 100, 50, 0, Math.PI * 2, salah);
  22.  
  23. //Lukis dan isi bahagian dalam bulatan
  24. ctx.fill();
  25. }
  26. Kesan paparan yang sepadan adalah seperti berikut:
  27. Kini, kami menggunakan kaedah clearRect() untuk memadamkan kawasan segi empat tepat bulatan pepejal dengan pusat (100,100) sebagai pusat dan 10px pada setiap sisi.
  28. Kod JavaScript
  29. Salin kandungan ke papan keratan
    1. "teks/javascript">
    2. //Dapatkan objek Kanvas (kanvas)
    3. var kanvas = document.getElementById("myCanvas");
    4. //Cukup mengesan sama ada penyemak imbas semasa menyokong objek Canvas untuk mengelakkan ralat sintaks dalam sesetengah penyemak imbas yang tidak menyokong html5
    5. jika(canvas.getContext){ 
    6. //Dapatkan objek CanvasRenderingContext2D (berus) yang sepadan
    7. var ctx = canvas.getContext("2d");  
    8. //Lukis bulatan dengan titik koordinat (100,10) sebagai pusat dan jejari 50px
    9. ctx.arc(100, 100, 50, 0, Math.PI * 2,
    10. salah
    11. );  
    12. //Lukis dan isi bahagian dalam bulatan
    13. ctx.fill();
    14.  
    15. //Padamkan grafik dalam kawasan segi empat tepat
    16. ctx.clearRect(90, 90, 20, 20);
    17. }
    18. Kesan paparan yang sepadan adalah seperti berikut (adakah ia sedikit seperti syiling tembaga?).
    Pada halaman, kita boleh memadamkan kawasan pada halaman untuk memaparkan imej latar belakang.
    Dalam contoh di bawah, kita padamkan ruang putih dalam segi empat tepat dan biarkan ia menunjukkan latar belakang halaman:


2016315111914378.png (417×320)Kod JavaScript

Salin kandungan ke papan keratan

  1.   
  2. "zh">   
  3.   
  4.     "UTF-8">   
  5.     clearRect()   
  6.        
  7.         badan { latar belakang: url("./images/bg2.jpg") ulang; }  
  8.         #kanvas { sempadan: 1px pepejal #aaaaa; paparan: sekat; jidar: 50px auto; }   
  9.        
  10.   
  11.   
  12. "canvas-warp">   
  13.     "kanvas">   
  14.         你的浏览器居然不支持Canvas?!赶快换一个吧!!   
  15.        
  
  •   
  •   
  •     window.onload = fungsi(){   
  •         var kanvas = document.getElementById("kanvas");   
  •         canvas.width = 800;   
  •         canvas.height = 600;   
  •         var context = canvas.getContext("2d");   
  •         context.fillStyle = "#FFF";   
  •         context.fillRect(0,0,800,600);   
  •   
  •         //清空画布   
  •         context.clearRect(0,0,canvas.width,canvas.height);   
  •   
  •     };   
  •   
  •   
  •   
  • 2016315111932638.jpg (1235×714)

    Label berkaitan:
    sumber:php.cn
    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
    Cadangan popular
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan