zoukankan      html  css  js  c++  java
  • 有趣的canvas

    最近看了一本canvas的书,里面对canvas的一些基本知识讲的很详细。相比于一个div加点颜色,我臭屁的觉得使用canvas画长方形正方形圆形之类的是大才小用。
    下面我放几个canvas还不错的功能点,感觉还行。


    代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <script>
            function $$(id){
                return document.getElementById(id);
            }
            window.onload=function(){
                var cnv=$$("canvas");
                var cxt=cnv.getContext("2d");
    
                cxt.globalCompositeOperation="xor";
    
                cxt.fillStyle="red";
                cxt.fillRect(30,30,60,60);
    
                cxt.beginPath();
                cxt.arc(100,100,40,0,Math.PI*2,true);
                cxt.closePath();
                cxt.fillStyle="LightSkyBlue";
                cxt.fill();
    
                cxt.fillStyle="red";
                cxt.fillRect(110,30,60,60);
    
                cxt.fillStyle="red";
                cxt.fillRect(30,110,60,60);
                cxt.fillStyle="red";
                cxt.fillRect(110,110,60,60);
            }
        </script>
    </head>
    <body>
        <canvas id="canvas" width="400" height="250" style="border:1px dashed gray;"></canvas>
    </body>
    </html>
    


    <!DOCTYPE html>
    <!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
    <!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
    <!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
    <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
        <head>
            <meta charset="utf-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge">
            <title></title>
            <meta name="description" content="">
            <meta name="viewport" content="width=device-width, initial-scale=1">
            <link rel="stylesheet" href="">
        </head>
        <body>
            <!--[if lt IE 7]>
                <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="#">upgrade your browser</a> to improve your experience.</p>
            <![endif]-->
            <script>
                function $$(id){
                    return document.getElementById(id);
                }
                window.onload=function(){
                    var cnv=$$("canvas");
                    var cxt=cnv.getContext("2d");
    
                    var text="点击存图片";
                    cxt.font="bold 60px 微软雅黑";
    
                    cxt.shadowOffsetX=5;
                    cxt.shadowOffsetY=5;
                    cxt.shadowColor="#66CCFF";
                    cxt.shadowBlur=10;
    
                    cxt.fillStyle="#FF6699";
                    cxt.fillText(text,10,90);
    
                    $$("btn").onclick=function(){
                        window.location=cnv.toDataURL("image/png");
                    }
                    }
            </script>
            
           <canvas id="canvas" width="320" height="150" style="border:1px dashed gray"></canvas>
           <br/>
           <input id="btn" type="button" value="保存图片"/>
        </body>
    </html>
    

    当然还有canvas的边界问题等等。
    by本文看书自web前端开发精品课HTML5Canvas开发详解。
    by我用canvas很少,觉得就是几个API调用的问题。理解非常狭隘,求你们拍砖。

  • 相关阅读:
    解决跨域之服务器代理http-proxy-middleware模块
    npm、yarn、nrm包管理工具
    nodeJS基础
    gulp自动化构建工具应用
    六种继承方式
    七种去重的方法
    初识模块化
    针对PHP网站攻击的几种方式
    oracle备份恢复(dmp文件)
    nginx.conf中文详解
  • 原文地址:https://www.cnblogs.com/smart-girl/p/html5.html
Copyright © 2011-2022 走看看