Rumah hujung hadapan web Tutorial H5 Penjelasan terperinci tentang cara menentukan warna dan ketelusan semasa melukis kemahiran tutorial HTML5 Canvas_html5

Penjelasan terperinci tentang cara menentukan warna dan ketelusan semasa melukis kemahiran tutorial HTML5 Canvas_html5

May 16, 2016 pm 03:45 PM
canvas html5 ketelusan warna

Nyatakan warna

Hitam ialah warna lalai untuk lukisan Kanvas Jika anda ingin menukarnya kepada warna lain, anda perlu menyatakan warna sebelum benar-benar melukis.

Kod JavaScriptSalin kandungan ke papan keratan
  1. ctx.strokeStyle = warna

Nyatakan warna garisan yang dilukis:

Kod JavaScriptSalin kandungan ke papan keratan
  1. ctx.fillStyle = warna

Nyatakan warna isian:
Mari lihat contoh praktikal:

JavaScript

Kod JavaScriptSalin kandungan ke papan keratan
  1. onload = fungsi() {
  2. cabutan();
  3. };
  4. fungsi draw() {
  5. var kanvas = document.getElementById('c1');
  6. jika ( ! canvas || ! canvas.getContext ) { kembali palsu ; }
  7. var ctx = canvas.getContext('2d'); ctx.beginPath();
  8. ctx.fillStyle =
  9. 'rgb(192, 80, 77)'
  10. ;// Merah ctx.arc(70, 45, 35, 0, Math.PI*2, salah
  11. );
  12. ctx.fill();
  13. ctx.beginPath();
  14. ctx.fillStyle =
  15. 'rgb(155, 187, 89)'
  16. ;// Hijau
  17. ctx.arc(45, 95, 35, 0, Math.PI*2, false);
  18. ctx.fill(); ctx.beginPath();
  19. ctx.fillStyle =
  20. 'rgb(128, 100, 162)'
  21. // Ungu
  22. ctx.arc(95, 95, 35, 0, Math.PI*2, false);
  23. ctx.fill();
  24. }
  25. Kesannya adalah seperti berikut:
  26. Nyatakan ketelusan
Sama seperti dalam CSS biasa, kami juga boleh membawa nilai alfa apabila menentukan warna (tetapi ia tidak banyak digunakan, dan ia tidak disokong sebelum IE9). Lihat kod:

JavaScript
2016325112217008.png (142×142)

Kod JavaScriptSalin kandungan ke papan keratan

  1. onload = fungsi() {   
  2.   draw();   
  3. };   
  4. fungsi draw() {   
  5.   var kanvas = document.getElementById('c1');   
  6.   jika ( ! kanvas || ! canvas.getContext ) { kembali palsu ; }   
  7.   var ctx = canvas.getContext('2d');   
  8.   ctx.beginPath();   
  9.   ctx.fillStyle = 'rgba(192, 80, 77, 0.7)'//   
  10.   ctx.arc(70, 45, 35, 0, Math.PI*2, false);   
  11.   ctx.fill();   
  12.   ctx.beginPath();   
  13.   ctx.fillStyle = 'rgba(155, 187, 89, 0.7)'//   
  14.   ctx.arc(45, 95, 35, 0, Math.PI*2, false);   
  15.   ctx.fill();   
  16.   ctx.beginPath();   
  17.   ctx.fillStyle = 'rgba(128, 100, 162, 0.7)'//   
  18.   ctx.arc(95, 95, 35, 0, Math.PI*2, false);   
  19.   ctx.fill();   
  20. }   

结果就是下面这样:
2016325112248089.png (142×142)

和上面的代码基本没变化,就是把rgb(r, g, b)变成了rgba(r, g, b, a)而已,a的值也是把rgb(r, g, b)变成了rgba(r, g, b, a)而已,a的值也是把rgb(r, g, b)变成了rgba(r, g, b, a)而已,a的值也是把值也是把也是用0~1则是完全不透明(所以alpha的值实际上是“不透明度”)。


全局透明globalAlpha
这个也是很简单的一个属性,默认值为1.0,一个属性,默认值为1.0。值范围是0.0(完全透明)~1.0。这个属性与阴影设置是一样的,如果不想针对全局设置不透明度,就得在下次绘制前重置。

总结一下:基于状态的属性有哪些?

——globalAlpha

——globalCompositeOpeartion

——Gaya stroke

——textAlign,textBaseline

——lineCap,lineJoin,lineWidth,miterLimit

——fillStyle

——font

——shadowBlur,shadowColor,shadowOffsetX,shadowOffsetY

我们通过一个代码,来体验一下globalAlpha的神奇之处>~

Kod JavaScript
复制内容到剪贴板
  1.   
  2. "zh">   
  3.   
  4.     "UTF-8">   
  5.     全局透明   
  6.        
  7.   
  8.   
  9. "canvas-warp">   
  10.     "canvas">   
  11.         你的浏览器居然不支持Canvas?!赶快换一个吧!!   
  12.        
  
  •   
  •   
  •     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.globalAlpha = 0.5;   
  •   
  •         untuk(var i=0; i<=50; i ){   
  •             var R = Math.floor(Math.random() * 255);   
  •             var G = Math.floor(Math.random() * 255);   
  •              var B = Math.floor(Math.random() * 255);   
  •   
  •             context.fillStyle = "rgb("   R   ","  >     G > ,"   B   ")";   
  •   
  •             context.beginPath();   
  •             context.arc(Math.random() * canvas.width, Math.random() * canvas.height, Math.random() * 100, 0, Math.PI * 2);   
  •             context.fill();   
  •         }   
  •     };   
  •   
  •   
  •   

  • 运行结果:2016325112320763.jpg (850×500)


    是不是非常的酷?终于有点艺术家的范儿了吧。

    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 尊渡假赌尊渡假赌尊渡假赌
    Repo: Cara menghidupkan semula rakan sepasukan
    4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
    4 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)

    Sempadan Jadual dalam HTML Sempadan Jadual dalam HTML Sep 04, 2024 pm 04:49 PM

    Panduan untuk Sempadan Jadual dalam HTML. Di sini kita membincangkan pelbagai cara untuk menentukan sempadan jadual dengan contoh Sempadan Jadual dalam HTML.

    Jadual Bersarang dalam HTML Jadual Bersarang dalam HTML Sep 04, 2024 pm 04:49 PM

    Ini ialah panduan untuk Nested Table dalam HTML. Di sini kita membincangkan cara membuat jadual dalam jadual bersama-sama dengan contoh masing-masing.

    HTML jidar-kiri HTML jidar-kiri Sep 04, 2024 pm 04:48 PM

    Panduan untuk HTML margin-kiri. Di sini kita membincangkan gambaran keseluruhan ringkas tentang HTML margin-left dan Contoh-contohnya bersama-sama dengan Pelaksanaan Kodnya.

    Susun Atur Jadual HTML Susun Atur Jadual HTML Sep 04, 2024 pm 04:54 PM

    Panduan untuk Susun Atur Jadual HTML. Di sini kita membincangkan Nilai Susun Atur Jadual HTML bersama-sama dengan contoh dan output n perincian.

    Memindahkan Teks dalam HTML Memindahkan Teks dalam HTML Sep 04, 2024 pm 04:45 PM

    Panduan untuk Memindahkan Teks dalam HTML. Di sini kita membincangkan pengenalan, cara teg marquee berfungsi dengan sintaks dan contoh untuk dilaksanakan.

    Senarai Tertib HTML Senarai Tertib HTML Sep 04, 2024 pm 04:43 PM

    Panduan kepada Senarai Tertib HTML. Di sini kami juga membincangkan pengenalan senarai dan jenis Tertib HTML bersama-sama dengan contoh mereka masing-masing

    Butang onclick HTML Butang onclick HTML Sep 04, 2024 pm 04:49 PM

    Panduan untuk Butang onclick HTML. Di sini kita membincangkan pengenalan, kerja, contoh dan onclick Event masing-masing dalam pelbagai acara.

    Pemegang Tempat Input HTML Pemegang Tempat Input HTML Sep 04, 2024 pm 04:54 PM

    Panduan untuk Pemegang Tempat Input HTML. Di sini kita membincangkan Contoh Pemegang Tempat Input HTML bersama-sama dengan kod dan output.

    See all articles