Rumah  >  Artikel  >  hujung hadapan web  >  Contoh kod HTML5 Kanvas untuk melaksanakan kemahiran tutorial penskalaan imej, flipping dan kecerunan warna_html5

Contoh kod HTML5 Kanvas untuk melaksanakan kemahiran tutorial penskalaan imej, flipping dan kecerunan warna_html5

WBOY
WBOYasal
2016-05-16 15:46:002600semak imbas

Terbalikkan, gerakkan, sorot, zum masuk, zum keluar

Kod XML/HTMLSalin kandungan ke papan keratan
  1. var kanvas = dokumen.getElementById('canvas');   
  2. jika (canvas.getContext) {   
  3.     var konteks = kanvas.getContext('2d');   
  4.     // 放大与缩小   
  5.     context.beginPath();   
  6.     context.strokeStyle = "#000000";   
  7.     context.strokeRect(10,10,150,100);   
  8.         
  9.     // 放大3倍   
  10.     context.scale(3,3);   
  11.     context.beginPath();   
  12.     context.strokeStyle = '#cccccc';   
  13.     context.strokeRect(10,10,150,100)   
  14.         
  15.     // 缩小   
  16.     context.scale(0.5,0.5);   
  17.     context.beginPath();   
  18.     context.strokeStyle = '#cccccc';   
  19.     context.strokeRect(10,10,150,100)   
  20.         
  21.      // 翻转   
  22.     var img = baharu Imej();   
  23.     img.src = 'imej/1.jpg';   
  24.     img.onload = fungsi(){   
  25.         context.drawImage(img, 10,10);           
  26.         context.scale(1, -1);   
  27.         context.drawImage(img, 0, -500);   
  28.     }  
  29.     // 平移   
  30.     context.beginPath();   
  31.     context.strokeStyle = '#000000';   
  32.     context.strokeRect(10,101,150,100);   
  33.     // x移动 50  y 移动100   
  34.     context.translate(50,100);   
  35.     context.beginPath();   
  36.     context.strokeStyle = '#cccccc';   
  37.     context.strokeRect(10,10,150,100);   
  38.     // 旋转   
  39.     context.beginPath();   
  40.     context.strokeStyle = '#000000';   
  41.     context.strokeRect(200,50,100,50);   
  42.     // 默认旋转是根据0,0中心,使用terjemah可以按照自己的设置的中心旋 
  43.     context.translate(250,75);   
  44.        
  45.     context.rotate(45 * Math.PI /180);   
  46.     context.translate(-250, -75);   
  47.   
  48.     context.beginPath();   
  49.     
  50. context.strokeStyle = '#cccccc';   
  51.     context.strokeRect(200,50,100,50);   
  52.         
  53.     // mengubah 矩阵   
  54.     context.beginPath();   
  55.     
  56. context.strokeStyle = '#000000';   
  57.     context.strokeRect(10,10,150,100);   
  58.        
  59.     context.transform(3,0,0,3,0,0);   
  60.     context.beginPath();   
  61.     
  62. context.strokeStyle = '#cccccc';   
  63.     context.strokeRect(10,10,150,100);   
  64.         
  65. }  
渐变、图像组合效果、颜色翻转


Kod XML/HTML
复制内容到剪贴板
  1. var kanvas = dokumen.getElementById('canvas'); >
  2. jika (canvas.getContext) {
  3. var
  4. konteks = kanvas.getContext('2d'); // Kecerunan lukisan linear
  5. var
  6. grd
  7. = konteks.createLinearGradient(0,0,200,100); // kedudukan mestilah menegak antara 0.1-1.0, menunjukkan kedudukan relatif warna dalam kecerunan, warna mewakili warna
  8. grd.addColorStop(0.1, "#00ff00");
  9. grd.addColorStop(0.8, "#ff0000");
  10.  
  11. context.fillStyle
  12. =
  13. grd context.fillRect(0,0, 200,100); // Kecerunan jejari
  14. var
  15. grd
  16. =
  17. konteks
  18. .createRadialGradient(100,100,10,100,100,50.>); grd.addColorStop(0.1, "#00ff00"); grd.addColorStop(0.8, '#ff0000');
  19. context.fillStyle =
  20. grd
  21. context.fillRect(0,0,200,200); // Kesan gabungan imej context.fillStyle
  22. = '#00ff00'
  23. ; context.fillRect(10,10,50,50);
  24. // Lukisan baharu //context.globalCompositeOperation = "source-over"
  25. ; // Hanya lukis kandungan baharu, padam semua kandungan lain
  26. context.globalCompositeOperation = 'copy'; // Di mana grafik bertindih, nilai warna ditolak untuk menentukan
  27. context.globalCompositeOperation
  28. = 'lebih gelap'; // Kandungan yang sudah ada pada kanvas hanya akan dikekalkan apabila ia bertindih dengan grafik lain
  29. context.globalCompositeOperation =
  30. 'destination-atop'; // Rujukan http://www.w3school.com.cn/htmldom/prop_canvasrenderingcontext2d_globalcompositeoperation.asp context.beginPath();
  31. context.fillStyle
  32. = '#ff0000';
  33.      context.arc(50,50,30,0, 2 * Math.PI);   
  34.      context.fill();   
  35.         
  36.      // 颜色翻转   
  37.      var img = neu Image();   
  38.           
  39.      img.src = 'images/1.jpg';   
  40.      img.onload = Funktion(){   
  41.          context.drawImage(img, 0,0, 1, 1);   
  42.          var imgData = context.getImageData(0,0, 1,1);   
  43.          var Pixel = imgData.data;   
  44.          console.log(pixels);   
  45.          for(var i = 0nPixel.length; i < n; i =4) {   
  46.              Pixel[i] = 255 - Pixel[i];   
  47.              Pixel[i 1] = 255 - Pixel[i   1];   
  48.              Pixel[i 2] = 255 - Pixel[i   2];   
  49.          }   
  50.          context.putImageData(imgData, 250, 0);   
  51.      }   
  52. }  
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