Maison >interface Web >Tutoriel H5 >Exemple de code HTML5 Canvas pour implémenter les compétences du didacticiel de mise à l'échelle, de retournement et de dégradé de couleurs_html5 d'image

Exemple de code HTML5 Canvas pour implémenter les compétences du didacticiel de mise à l'échelle, de retournement et de dégradé de couleurs_html5 d'image

WBOY
WBOYoriginal
2016-05-16 15:46:002617parcourir

Retourner, déplacer, faire un panoramique, zoomer, dézoomer

Code XML/HTMLCopier le contenu dans le presse-papiers
  1. var canvas = document.getElementById('canvas');   
  2. if (canvas.getContext) {   
  3.     var context = canvas.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 = nouveau Image();   
  23.     img.src = 'images/1.jpg';   
  24.     img.onload = fonction(){   
  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中心,使用translate可以按照自己的设置的中心旋转   
  43.     context.translate(250,75);   
  44.        
  45.     context.rotate(45 * Math.PI /180);   
  46.     context.translate(-250, -75);   
  47.   
  48.     context.beginPath();   
  49.     context.StrokeStyle = '#cccccc';   
  50.     context.StrokeRect(200,50,100,50);   
  51.         
  52.     // transformer 矩阵   
  53.     context.beginPath();   
  54.     context.StrokeStyle = '#000000';   
  55.     context.StrokeRect(10,10,150,100);   
  56.        
  57.     context.transform(3,0,0,3,0,0);   
  58.     context.beginPath();   
  59.     context.StrokeStyle = '#cccccc';   
  60.     context.StrokeRect(10,10,150,100);   
  61.         
  62. }  

渐变、图像组合效果、颜色翻转

Code XML/HTML复制内容到剪贴板
  1. var canvas = document.getElementById('canvas'); >
  2. if (canvas.getContext) {
  3. var
  4. context = canvas.getContext('2d'); // Dégradé de dessin linéaire
  5. var
  6. grd
  7. = context.createLinearGradient(0,0,200,100); // la position doit être verticale entre 0,1 et 1,0, indiquant la position relative de la couleur dans le dégradé, la couleur représente la couleur
  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); // Dégradé radial
  14. var
  15. grd
  16. =
  17. context
  18. .createRadialGradient(100,100,10,100,100,50); grd.addColorStop(0.1, "#00ff00"); grd.addColorStop(0.8, '#ff0000');
  19. context.fillStyle
  20. =
  21. grd
  22. ; context.fillRect(0,0,200,200); // Effet de combinaison d'images
  23. context.fillStyle
  24. =
  25. '#00ff00'
  26. context.fillRect(10,10,50,50); // Nouveau dessin
  27. //
  28. context.globalCompositeOperation
  29. =
  30. "source-over"
  31. // Dessinez uniquement le nouveau contenu, supprimez tous les autres contenus context.globalCompositeOperation
  32. =
  33. 'copie'
  34. // Là où les graphiques se chevauchent, les valeurs de couleur sont soustraites pour déterminer context.globalCompositeOperation
  35. =
  36. 'plus sombre'
  37. ; // Le contenu déjà présent sur le canevas ne sera conservé que là où il chevauche d'autres graphiques context.globalCompositeOperation
  38. =
  39. 'destination-au sommet'
  40. // Référence http://www.w3school.com.cn/htmldom/prop_canvasrenderingcontext2d_globalcompositeoperation.asp context.beginPath();
  41. context.fillStyle
  42. =
  43. '#ff0000'
  44.      context.arc(50,50,30,0, 2 * Math.PI);   
  45.      context.fill();   
  46.         
  47.      // 顏色轉換   
  48.      var img = new 
  49.  
  50.             
  51.      img.src = 'images/1.jpg'
  52. 'images/1.jpg'
  53. ;      img.onload = 函數
  54. ()
  55.          context.drawImage(img, 0,0, 1, 1);   
  56.          var imgData =  🎜>
  57.          var 
  58. 像素 = imgData = imgData = 
  59. imgData         console.log(像素);   
  60.           for(var i = 像素.length; i  n n n
  61. ;
  62.              為中所[i] = 255 - 像素[i];  
  63.              為中所[i 1] = 255 - 像素[i   1];  
  64.              為中所[i 2] = 255 - 像素[i   2];  
  65.          }   
  66.          context.putImageData(imgData, 250, 0);   
  67.      }   
  68. }  
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn