• [ html canvas createImageData 创建万花筒效果 ] canvas绘图属性 createImageData 属性讲解 及创建万花筒效果


     1 <!DOCTYPE html>
     2 <html lang='zh-cn'>
     3 <head>
     4 <title>Insert you title</title>
     5 <meta name='description' content='this is my page'>
     6 <meta name='keywords' content='keyword1,keyword2,keyword3'>
     7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     8 <link rel='stylesheet' type='text/css' href='./css/index.css' />
     9 <script type='text/javascript' src='./js/jquery-1.12.1.min.js'></script>
    10 <style type='text/css'>
    11 html,body,canvas {
    12     margin: 0; padding: 0;
    13 }
    14 
    15 html {
    16     height: 100%;
    17 }
    18 
    19 body {
    20     background: #000;
    21 }
    22 
    23 #can {
    24     background: #FFF /* url('./images/index.jpg') no-repeat center; backgrond-size: cover */;
    25     display: block; margin: 25px auto; border-radius: 2px; cursor: pointer;
    26 }
    27 </style>
    28 <script type='text/javascript'>
    29     $( function(){
    30         var can = $( '#can' ).get( 0 );
    31         var oCan = can.getContext( '2d' );
    32         var oImg = new Image();
    33         oImg.src = './images/index.jpg';
    34         var gImg = oCan.getImageData( 50 , 30 , 100 , 150 );    /* 之所以进行获取,是为了循环中读取个数 */
    35         oImg.onload = function(){
    36             var num = 0;
    37             var length = gImg.data.length;
    38             var img = oCan.createImageData( 100 , 100 );
    39             for( var i = 0 ; i < length ; i++ ){
    40                 num = i % 4; /* 0 1 2 3 */
    41                 switch( num ){
    42                     case 0 :
    43                         num = 0;
    44                         img.data[ i ] = getRandomNum();
    45                     break;
    46                     case 1 :
    47                         num = 255;
    48                         img.data[ i ] = getRandomNum();
    49                     break;
    50                     case 2 :
    51                         num = 0;
    52                         img.data[ i ] = getRandomNum();
    53                     break;
    54                     case 3 :
    55                         num = getRandomNum();
    56                         img.data[ i ] = num;
    57                     break;
    58                 }
    59             }
    60             oCan.putImageData( img , 10 , 20 );
    61         };
    62         function getRandomNum(){
    63             return Math.ceil( Math.random() * 255 ); /* 0-- 255 */
    64         }
    65         //alert(getRandomNum());
    66     } );
    67 </script>
    68 </head>
    69 <body>
    70     <canvas id='can' width='300' height='168'>检测到您的浏览器版本过低请升级您的浏览器版本以获取更好的用户体验...</canvas>
    71 </body>
    72 </html>
  • 相关阅读:
    is 和 == 的区别,utf和gbk的转换,join用法
    python字典的整理信息
    poj分类
    cloud computing
    POJ1007 关于STL排序方法 动态数组的创建 和向量的使用
    math类
    研究生考试感想
    4.11
    重看设计模式 观察者模式
    子串计算 2010北京大学复试机试题
  • 原文地址:https://www.cnblogs.com/mysearchblog/p/5949768.html
Copyright © 2020-2023  润新知