zoukankan      html  css  js  c++  java
  • JS DOM编程艺术——HTML5—— JS学习笔记2015-7-23(第90天)

    canvas

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>canvas灰度图模式</title>
    <script src="scripts/modernizr.custom.64715.js"></script>
    </head>
    
    <body>
    <h1>canvas</h1>
    <img src="img/s2.jpg" id="avatar" title="jeffrey" alt="my avatar">
    
    
    <script>
     function convertToGS(img){
        //存储原始的彩色版
         img.color = img.src;
         // 创建灰度版
         img.grayscale = createGSCanvas(img);
    
         img.onmouseover = function(){
             this.src = this.color;
         }
         img.onmouseout();
     }
    
     function createGSCanvas(img){
    
         var canvas = document.createElement("canvas");
         canvas.width = img.width;
         canvas.height = img.height;
    
         var ctx = canvas.getContext("2d");
         ctx.drawImage(img,0,0);
         // getImageData 只能操作与脚本位于同一个区域中的图片
         var c = ctx.getImageData(0, 0, img.width, img.height);
         for (i=0; i<c.height; i++){
             for(j=0; j<c.width; j++){
                 var x = (1*4)*c.width+(j*4);
                 var r = c.data[x];
                 var g = c.data[x+1];
                 var g = c.data[x+2];
                 c.data[x] = c.data[x+1] = c.data[x+2] = (r+g+b)/3;
             }
         }
    
         ctx.putImageData(c,0,0,0,0, c.width, c.height);
    
         return canvas.toDataURL();
     }
    
     window.onload = function(){
         convertToGS(document.getElementById('avatar'));
     }
    </script>
    </body>
    </html>
    View Code

    这个例子没有实现,作者在书中说了,需要上传到web服务器上才可以;

  • 相关阅读:
    《试题库管理系统的设计与实现》11
    转 windows10安装docker
    转 linux 安装docker
    Centos7 离线安装RabbitMQ,并配置集群
    Linux配置Redis主从
    CENTOS7下安装REDIS
    sql删除相同数据(无主键)
    mybatis中 <if test=>等于的条件怎么写
    java 日期获取,每月一号,每周一
    Oracle中merge into的使用
  • 原文地址:https://www.cnblogs.com/zhangxg/p/4672080.html
Copyright © 2011-2022 走看看