首頁  >  文章  >  web前端  >  HTML5 Canvas實作圖片縮放、翻轉、色彩漸層的程式碼範例_html5教學技巧

HTML5 Canvas實作圖片縮放、翻轉、色彩漸層的程式碼範例_html5教學技巧

WBOY
WBOY原創
2016-05-16 15:46:002598瀏覽

翻轉、移動、平移、放大、縮小

XML/HTML Code複製內容到剪貼簿
  1. var 畫布 = 文件.getElementByy@文件
  2. .getElementByyId('canvas'); >
  3. if (canvas.getContext) {   
  4.     var 上下文 = 畫布.getContext('2d');
  5.     //放大與縮小   
  6.     context.beginPath();   
  7.     context.行程樣式 = "#000000""#000000"
  8. "#000000"
  9. "#000000"
  10. ;
  11.     context.中風長方形(10,10,150,100);   
  12.         
  13.     // 放大3倍   
  14.     context.scale(3,3);   
  15.     context.beginPath();        context.行程樣式
  16.  = 
  17. '#cccccc'
  18. '#cccccc';
  19.     context.行程矩形(10,10,150,100)   
  20.         
  21.     //縮小   
  22.     context.scale(0.5,0.5);        context.beginPath();        context.行程樣式
  23.  = '#cccccc'
  24. '#cccccc'
  25. ;
  26.     context.StrongRect(10,10,150,100)   
  27.               // 跳        var 
  28. img
  29.  = new new 
  30. new
  31.  new      img.src
  32.  = 
  33. 'images/1.jpg'
  34. 'images/1.jpg'
  35. 'images/1.jpg'
  36. ;
  37.     
  38. img.onload = 函數(){🎜>函數(){  >         context.drawImage(img, 10,10);                    context.scale(1, -1);            context.drawImage(img, 0, -500);        }  
  39.     // 平移   
  40.     context.beginPath();   
  41.     context.行程樣式 = '#000000''#000000'
  42. '#000000'
  43. '#000000'
  44. '#000000'
  45. ;
  46.     context.中風矩形(10,101,150,100);   
  47.     // x移動 50  y 移動100   
  48.     context.translate(50,100);        context.beginPath();   
  49.     
  50. context.行程樣式
  51.  = 
  52. '#cccccc'
  53. '#cccccc';
  54.     context.中風長方形(10,10,150,100);        // 旋轉        context.beginPath();   
  55.     context.行程樣式
  56.  = '#000000'
  57. '#000000'
  58. '#000000'
  59. '#000000'
  60. '#000000'
  61. ;     context.中風矩形(200,50,100,50);   
  62.     //預設旋轉是根據0,0中心,使用translate可以依照自己設定的中心旋轉   
  63.     context.translate(250,75);   
  64.             context.rotate(45 * Math.PI /180);        context.translate(-250, -75);   
  65.   
  66.     context.beginPath();   
  67.     
  68. context.行程樣式 = 
  69. '#cccccc''#cccccc';     context.中風矩形(200,50,100,50);   
  70.         
  71.     // 轉換 矩陣   
  72.     context.beginPath();   
  73.     
  74. context.行程樣式
  75.  = 
  76. '#000000''#000000''#000000''#000000'
  77. '#000000'
  78. ;
  79.     context.中風長方形(10,10,150,100);   
  80.        
    context.transform(3,0,0,3,0,0);   


    context.beginPath();   

    context.行程樣式 = 
'#cccccc''#cccccc';     context.中風長方形(10,10,150,100);             }   突變、影像組合效果、顏色切換 XML/HTML 程式碼將內容複製到剪貼簿
  1. var canvas = document.getElementBy>document
  2. .getElementBy; >
  3. if (canvas.getContext) {   
  4.     var context = canvas.Congetn('2d');
  5.     // 線性繪圖漸層   
  6.     var grd = context.create     // postion 必須是0.1-1.0之間的垂直,表示漸層中顏色的地點相對地位,color表示顏色   
  7.     grd.addColorStop(0.1, "#00ff00");   
  8.     grd.addColorStop(0.8, "#ff0000");   
  9.        
  10.     
  11. context.fillStyle =      context.fillRect(0,0, 200,100);        // 徑向漸層   
  12.     var 
  13. grd = 
  14. context     grd.addColorStop(0.1, "#00ff00");        grd.addColorStop(0.8, '#ff0000');   
  15.     
  16. context.fillStyle
  17.  = 
  18.     context.fillRect(0,0,200,200);        // 影像組合效果         
  19. context.fillStyle
  20.  = 
  21. '#00ff00'
  22. '#00ff00'
  23. ;      context.fillRect(10,10,50,50);         // 新繪圖         //
  24. context.globalCompositeOperation  = 
  25.      // 只繪製新內容,並刪除所有其他內容   
  26.      context.globalCompositeOperation = 'copy' = 
  27. 'copy'
  28.  = 'copy'
  29.  = 
  30. 'copy' = 'copy' =       // 圖形重疊的地方,其色彩值相減後決定   
  31.      context.globalCompositeOperation
  32.  = 'darker' =  '      // 畫布上已經有的內容只會載和其他圖形重疊的地方保留   
  33.      
  34. context.globalCompositeOperation
  35.  = 
  36. 'destination-atop' 🎜>     // 參考 http://www.w3school.com.cn/htmldom/prop_canvasrenderingcontext2d_globalcompositeoperation.asp         context.beginPath();   
  37.      
  38. context.fillStyle
  39.  = 
  40. '#ff0000'
  41. '#ff0000';
  42.      context.arc(50,50,30,0, 2 * Math.PI);   
  43.      context.fill();   
  44.         
  45.      // 顏色轉換   
  46.      var img = new 
  47.  
  48.             
  49.      img.src = 'images/1.jpg'
  50. 'images/1.jpg'
  51. ;      img.onload = 函數
  52. ()
  53.          context.drawImage(img, 0,0, 1, 1);   
  54.          var imgData =  🎜>
  55.          var 
  56. 像素 = imgData = imgData = 
  57. imgData         console.log(像素);   
  58.           for(var i = 像素.length; i  n n n
  59. ;
  60.              為中所[i] = 255 - 像素[i];  
  61.              為中所[i 1] = 255 - 像素[i   1];  
  62.              為中所[i 2] = 255 - 像素[i   2];  
  63.          }   
  64.          context.putImageData(imgData, 250, 0);   
  65.      }   
  66. }  
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn