• 【DOM编程艺术】Canvas画图


    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Canvas</title>
    </head>
    
    <body>
    <canvas id='draw-in-me' width='120' height="40">
        <p>Powered By HTML5 canvas</p>
    </canvas>
    <script>
    window.onload=draw;
    function draw(){
        var canvas = document.getElementById('draw-in-me');
        var ctx=canvas.getContext('2d');
        ctx.beginPath();
        ctx.moveTo(120.0,32.0);
        ctx.bezierCurveTo(120.0,36.4,116.4,40.0,112.0,40.0);
        ctx.lineTo(8.0,40.0);
        ctx.bezierCurveTo(3.6,40.0,0.0,36.4,0.0,32.0);
        ctx.lineTo(0.0,8.0);
        ctx.bezierCurveTo(0.0,3.6,3.6,0.0,8.0,0.0);
        ctx.lineTo(112.0,0.0);
        ctx.bezierCurveTo(116.4,0.0,120.0,3.6,120.0,8.0);
        ctx.lineTo(120.0,32.0);
        ctx.closePath();
        ctx.fill();
        ctx.lineWidth = 2.0;
        ctx.strokesStyle = "rgb(255,255,255)";
        ctx.stroke();
    }
    </script>
    </body>
    </html>

    变量ctx引用的是画布的绘图空间(context).所谓绘图空间,在这里就是一个平面二维的绘图表面,其原点(0.0)位于<canvas>的左上角。

    在这个绘图表面的坐标系里,越往右x的值越大,越往下y的值越大。通过在绘图空间中指定坐标点,可以绘制出各种二维的形状和线条。在绘制线条时,还可以添加不同的填充及描边样式。

                   

    <canvas>不仅仅能够用来绘制矢量路径;还可以通过它来显示和操作位图图像。

  • 相关阅读:
    chapter 12_1 数据文件
    chapter11_3 字符串缓冲
    chapter11_2 Lua链表与队列
    chapter11_1 Lua数组、列表
    chapter9_4 非抢占式的多线程
    Java设计模式
    java内存回收机制
    javaIO流概述
    java集合概述
    java多线程
  • 原文地址:https://www.cnblogs.com/positive/p/3685891.html
Copyright © 2020-2023  润新知