<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            HTML5組件Canvas實現圖像灰度化教程

            時間:2024-10-20 16:35:48 HTML DOM 我要投稿
            • 相關推薦

            關于HTML5組件Canvas實現圖像灰度化教程

              新建一個html頁面,在body tag之間加入

              Gray Filter

              添加一段最簡單的JavaScript 腳本

              window.onload = function() {

              var canvas = document.getElementById("myCanvas");

              // TODO: do something here

              }

              從Canvas對象獲取繪制對象上下文Context的代碼如下:

              var context = canvas.getContext("2d");

              在html頁面中加入一幅圖像的html代碼如下

              完全源代碼如下:

              window.onload = function() {

              var canvas = document.getElementById("myCanvas");

              var image = document.getElementById("imageSource");

              // re-size the canvas deminsion

              canvas.width = image.width;

              canvas.height = image.height;

              // get 2D render object

              var context = canvas.getContext("2d");

              context.drawImage(image, 0, 0);

              var canvasData = context.getImageData(0, 0, canvas.width, canvas.height);

              alert(canvasData.width.toString());

              alert(canvasData.height.toString());

              // gray filter

              for ( var x = 0; x < canvasData.width; x++) {

              for ( var y = 0; y < canvasData.height; y++) {

              // Index of the pixel in the array

              var idx = (x + y * canvasData.width) * 4;

              var r = canvasData.data[idx + 0];

              var g = canvasData.data[idx + 1];

              var b = canvasData.data[idx + 2];

              // calculate gray scale value

              var gray = .299 * r + .587 * g + .114 * b;

              // assign gray scale value

              canvasData.data[idx + 0] = gray; // Red channel

              canvasData.data[idx + 1] = gray; // Green channel

              canvasData.data[idx + 2] = gray; // Blue channel

              canvasData.data[idx + 3] = 255; // Alpha channel

              // add black border

              if(x < 8 || y < 8 || x > (canvasData.width - 8) || y > (canvasData.height - 8))

              {

              canvasData.data[idx + 0] = 0;

              canvasData.data[idx + 1] = 0;

              canvasData.data[idx + 2] = 0;

              }

              }

              }

              context.putImageData(canvasData, 0, 0); // at coords 0,0

              }

              Gray Filter

              代碼中的文件可以替換任意你想要看到的圖片文件

              HTML5, 原來如此神奇。程序在google瀏覽器中測試通過,

              最后的忠告,千萬不要在本地嘗試運行上面的代碼,google瀏覽器的安全檢查會自動阻止從瀏覽器中讀寫非domain的文件

              最好在tomcat或者任意個web container的server上發布以后從google瀏覽器查看效果即可。

            【HTML5組件Canvas實現圖像灰度化教程】相關文章:

            Dreamweaver插入圖像的教程07-13

            實現html方法結構化10-01

            旅游企業如何實現信息化07-01

            如何實現生產標準化管理10-22

            HTML5的發展08-15

            嵌入式系統的虛擬化怎么實現12-27

            實現企業管理標準化的措施01-13

            關于辦公自動化系統的設計與實現07-28

            企業物流管理如何實現現代化11-02

            如何實現企業信息管理現代化12-08

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看