HTML5 Canvas 绘图入门

jopen 10年前

HTML5 Canvas 绘图入门,仅供学习参考

    <!DOCTYPE html>        <html>        <head>            <meta charset="utf-8" />            <title>HTML5 移动Web开发指南</title>            <style type="text/css">                h1, h5                {                    text-align: center;                }                canvas                {                    float: left;                    margin: 10px;                    overflow: hidden;                }            </style>            <script type="text/javascript" language="javascript">                window.onload = function () {                    drawCanvas(0, 0, "canvase_01", "red", 200, 200);                    drawCanvas(0, 0, "canvase_02", "green", 200, 100);                            drawCanvas(0, 0, "canvase_05", "blank", 300, 60);                    drawCanvas(75, 60, "canvase_05", "gray", 150, 90);                            drawCanvas(0, 0, "canvase_06", "blank", 300, 50);                    drawCanvas(0, 50, "canvase_06", "red", 300, 50);                    drawCanvas(0, 100, "canvase_06", "#F8CB1C", 300, 50);                            drawCanvas(0, 0, "canvase_07", "green", 100, 150);                    drawCanvas(100, 0, "canvase_07", "white", 100, 150);                    drawCanvas(200, 0, "canvase_07", "red", 100, 150);                            drawRound("canvase_03", "blue", 75, true);                    drawRound("canvase_04", "yellow", 75, false);                            drawRound("canvase_08", "red", 75, true);                    drawRound("canvase_08", "yellow", 75, false);                };                                /*                * Canvas 画非圆图形测试                * x:       图形的X轴开始坐标                * y:       图形的Y轴开始坐标                * id:     元素id                * bgColor: 填充的背景颜色                * width:   宽                * height:  高                */                function drawCanvas(x, y, id, bgColor, width, height) {                    var canvas = document.getElementById(id);                    if (canvas != null && canvas != undefined) {                        var ctx = canvas.getContext("2d");                        ctx.fillStyle = bgColor;                                //第一个和第二个参数,代表开始坐标                        //第三个参数是图形的宽                        //第四个参数是图形的高                        ctx.fillRect(Number(x), Number(y), Number(width), Number(height));                    }                }                                /*                * Canvas 画圆测试                * id:     元素id                * bgColor: 填充的背景颜色                * R:      圆半径                * IsRound: 是否为正圆(true正圆、false 半圆)                */                function drawRound(id, bgColor, R, IsRound) {                    var canvas = document.getElementById(id);                    if (canvas != null && canvas != undefined) {                        var ctx = canvas.getContext("2d");                        ctx.fillStyle = bgColor;                        ctx.beginPath();                                var round = Math.PI;                        if (Boolean(IsRound))                            round = Math.PI * 2;                                //第一个和第二个参数,代表圆心坐标                        //第三个参数是圆的半径                        //第四个参数代表圆周起始位置(0 起始位置。沿顺时针路线,分别是0.5 (正下方),1 PI和1.5 PI(正上方),为画饼图提供了扇形范围的依据)                        //第五个参数是弧长(Math.PI*1 半圆、Math.PI*2就是整个圆)                        ctx.arc(150, 75, Number(R), 0, round, true);                                ctx.closePath();                        ctx.fill();                    }                }            </script>        </head>        <body>            <header>                <section>                    <h1>                        HTML5 移动Web开发指南</h1>                </section>            </header>            <fieldset>                <legend>HTML5 新元素--Canvas绘图元素</legend>                <article>                    <section>                        <canvas id="canvase_01">                         您的浏览器不支持Canvas元素!                        </canvas>                        <canvas id="canvase_02">                         您的浏览器不支持Canvas元素!                        </canvas>                        <canvas id="canvase_03">                         您的浏览器不支持Canvas元素!                        </canvas>                        <canvas id="canvase_04">                        您的浏览器不支持Canvas元素!                        </canvas>                        <canvas id="canvase_05">                        您的浏览器不支持Canvas元素!                        </canvas>                        <canvas id="canvase_06">                        您的浏览器不支持Canvas元素!                        </canvas>                        <canvas id="canvase_07">                        您的浏览器不支持Canvas元素!                        </canvas>                        <canvas id="canvase_08">                        您的浏览器不支持Canvas元素!                        </canvas>                    </section>                </article>            </fieldset>            <footer>                <section>                    <h5>                        <span style="font-family: Arial, Helvetica, sans-serif;">HTML5 新元素--Canvas绘图元素</span>                    </h5>                </section>            </footer>        </body>        </html>  

HTML5 Canvas 绘图入门