<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • HTML5組件Canvas實(shí)現(xiàn)圖像灰度化教程

    時(shí)間:2024-10-20 16:35:48 HTML DOM 我要投稿
    • 相關(guān)推薦

    關(guān)于HTML5組件Canvas實(shí)現(xiàn)圖像灰度化教程

      新建一個(gè)html頁面,在body tag之間加入

      Gray Filter

      添加一段最簡單的JavaScript 腳本

      window.onload = function() {

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

      // TODO: do something here

      }

      從Canvas對(duì)象獲取繪制對(duì)象上下文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瀏覽器中測(cè)試通過,

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

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

    【HTML5組件Canvas實(shí)現(xiàn)圖像灰度化教程】相關(guān)文章:

    Dreamweaver插入圖像的教程07-13

    實(shí)現(xiàn)html方法結(jié)構(gòu)化10-01

    旅游企業(yè)如何實(shí)現(xiàn)信息化07-01

    如何實(shí)現(xiàn)生產(chǎn)標(biāo)準(zhǔn)化管理10-22

    HTML5的發(fā)展08-15

    嵌入式系統(tǒng)的虛擬化怎么實(shí)現(xiàn)12-27

    實(shí)現(xiàn)企業(yè)管理標(biāo)準(zhǔn)化的措施01-13

    關(guān)于辦公自動(dòng)化系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)07-28

    企業(yè)物流管理如何實(shí)現(xiàn)現(xiàn)代化11-02

    如何實(shí)現(xiàn)企業(yè)信息管理現(xiàn)代化12-08

    主站蜘蛛池模板: 四虎亚洲国产成人久久精品| 精品亚洲成AV人在线观看| 日本免费精品一区二区三区 | 久久精品无码一区二区app| 国产成人精品视频一区二区不卡| 久久久久国产精品嫩草影院 | 51午夜精品免费视频| 中文字幕精品一区| 久久精品国产第一区二区| 99re66热这里只有精品| 久久影院综合精品| 中文字幕精品亚洲无线码二区 | 亚洲精品理论电影在线观看| 国产精品视频一区二区三区无码| 亚洲精品偷拍视频免费观看| 麻豆国内精品欧美在线| 国产精品美女久久久久av爽| 国产欧美久久久精品| 国产乱人伦偷精品视频免下载| 亚洲国产精品一区二区久久hs| 人人妻人人澡人人爽精品欧美| 国产亚洲精品线观看动态图| 中文精品一卡2卡3卡4卡| 国产精品久久久久…| 国产精品多人p群无码| 欧洲精品久久久av无码电影| 在线观看自拍少妇精品| 亚洲av无码成人精品区| 无码国产亚洲日韩国精品视频一区二区三区 | 欧美大片日韩精品| 国产精品专区第二| 久久免费精品视频| 久久久久久久99精品免费观看| 久久成人影院精品777| 久久99国产精品99久久| 久久精品成人国产午夜| 国产精品分类视频分类一区| 国产精品久久久久久一区二区三区 | 久久久久久九九99精品| 精品福利一区二区三区免费视频 | 国产精品 猎奇 另类视频|