Heim  >  Artikel  >  Web-Frontend  >  HTML5-Canvas-Codebeispiel zum Implementieren von Bildskalierung, Spiegelung und Farbverlauf. HTML5-Tutorial-Fähigkeiten

HTML5-Canvas-Codebeispiel zum Implementieren von Bildskalierung, Spiegelung und Farbverlauf. HTML5-Tutorial-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 15:46:002600Durchsuche

Spiegeln, verschieben, schwenken, vergrößern, verkleinern

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  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 = neu Image();   
  23.     img.src = 'images/1.jpg';   
  24.     img.onload = Funktion(){   
  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.     // transform 矩阵   
  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. }  

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

XML/HTML-Code复制内容到剪贴板
  1. var canvas = document.getElementById('canvas'); >
  2. if (canvas.getContext) {
  3. var
  4. context = canvas.getContext('2d'); // Linearer Zeichenverlauf
  5. var
  6. grd
  7. = context.createLinearGradient(0,0,200,100); // Die Position muss vertikal zwischen 0,1 und 1,0 liegen und gibt die relative Position der Farbe im Farbverlauf an. Die Farbe repräsentiert die Farbe
  8. grd.addColorStop(0.1, "#00ff00");
  9. grd.addColorStop(0.8, "#ff0000");
  10.  
  11. context.fillStyle
  12. = grd; context.fillRect(0,0, 200,100);
  13. // Radialer Farbverlauf
  14. var
  15. grd
  16. =
  17. context.createRadialGradient(100,100,10,100,100,50); grd.addColorStop(0.1, "#00ff00");
  18. grd.addColorStop(0.8, '#ff0000');
  19. context.fillStyle
  20. =
  21. grd; context.fillRect(0,0,200,200); // Bildkombinationseffekt
  22. context.fillStyle
  23. =
  24. '#00ff00'
  25. ; context.fillRect(10,10,50,50); // Neue Zeichnung
  26. //
  27. context.globalCompositeOperation
  28. =
  29. "source-over"
  30. ;
  31. // Nur neue Inhalte zeichnen, alle anderen Inhalte löschen context.globalCompositeOperation =
  32. 'copy'
  33. // Wo sich Grafiken überlappen, werden die Farbwerte subtrahiert, um zu ermitteln context.globalCompositeOperation =
  34. 'dunkler'
  35. ;
  36. // Der bereits auf der Leinwand befindliche Inhalt bleibt nur dort erhalten, wo er sich mit anderen Grafiken überschneidet
  37. context.globalCompositeOperation = 'destination-atop'
  38. ;
  39. // Referenz http://www.w3school.com.cn/htmldom/prop_canvasrenderingcontext2d_globalcompositeoperation.asp
  40. context.beginPath(); context.fillStyle =
  41. '#ff0000'
  42. ;
  43.      context.arc(50,50,30,0, 2 * Math.PI);   
  44.      context.fill();   
  45.         
  46.      // 颜色翻转   
  47.      var img = nouveau Image();   
  48.           
  49.      img.src = 'images/1.jpg';   
  50.      img.onload = fonction(){   
  51.          context.drawImage(img, 0,0, 1, 1);   
  52.          var imgData = context.getImageData(0,0, 1,1);   
  53.          var pixels = imgData.data;   
  54.          console.log(pixels);   
  55.          pour(var i = 0npixels.longueur; i < n; i =4) {   
  56.              pixels[i] = 255 - pixels[i];   
  57.              pixels[i 1] = 255 - pixels[i   1] ;   
  58.              pixels[i 2] = 255 - pixels[i   2] ;   
  59.          }   
  60.          context.putImageData(imgData, 250, 0);   
  61.      }   
  62. }  
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn