[H5]HTML5标签<canvas>

[H5]HTML5标签<canvas>

包括创建canvas、canvas绘制图形、canvas绘制图片和createJS介绍。

[index.html]

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Canvas标签</title>
    <style>
        #canvasID {
            width: 400px;
            height: 400px;
            background-color: #66CCFF;
        }
        #divID {
            width: 500px;
            height: 500px;
            background-color: cadetblue;
        }
        #canvasID1 {
            width: 400px;
            height: 400px;
            background-color: #FF0000;
        }
    </style>
    <script src="easeljs.min.js"></script>
    <script src="indexJS.js"></script>
</head>
<body>
    <!--什么是 Canvas?-->
        <!--HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。-->
        <!--画布是一个矩形区域,您可以控制其每一像素。-->
        <!--canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。-->
        <!--canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成。-->

    <!--创建Canvas标签-->
        <!--<canvas id="myCanvas" width="200" height="100"></canvas>-->
        <canvas id="canvasID"></canvas>
        <div id="divID"></div>

    <!--绘制图形/绘制图片-->
        <!--帮助文档 https://developer.mozilla.org/zh-CN/-->

    <!--绘制图形CreateJS库文件-->
        <!--官网:https://www.createjs.com/-->
        <!--EASELJS 主要处理HTML的canvas-->
        <!--TWEENJS 处理HTML动画-->
        <!--SOUNDJS 处理音频-->
        <!--PRELOADJS 加载一些类库-->
    <canvas id="canvasID1"></canvas>
</body>
</html>

[indexJS.js]

var C_WIDTH = 500;
var C_HEIGHT = 500;
var myCanvas;
var context;
// CreateJS
var canvas;
var stage;
var text;
var count = 0;

window.onload = function () {
    createCanvas();
    drawImgAction();
    createjsAction();
}

// 创建canvas
function createCanvas () {
    var tempDiv = document.getElementById("divID");
    tempDiv.innerHTML = "<canvas id=\"myCanvas\" width=\""+C_WIDTH+"\" height=\""+C_HEIGHT+"\"></canvas>";
    myCanvas = document.getElementById("myCanvas");
    context = myCanvas.getContext("2d");
    drawRectAction();
}

// 绘制图形
function drawRectAction () {
    // 默认颜色是黑色,这个属性能改变颜色
    context.fillStyle = "#66ccff";
    // 移动
    context.translate(200,100);
    // 旋转
    context.rotate(45);
    // 缩放
    context.scale(2,0.5);
    // 绘制矩形
    context.fillRect(0,0,200,200);
}

// 绘制图片
function drawImgAction () {
    var img = new Image();
    img.onload = function () {
        var tempCanvas = document.getElementById("canvasID");
        var tempContext = tempCanvas.getContext("2d");
        tempContext.drawImage(img, 0, 0);
    }
    img.src = "55555.jpg";
}

// CreateJS
function createjsAction () {
    canvas = document.getElementById("canvasID1");
    stage = new createjs.Stage(canvas);

    text = new createjs.Text("num:0","20px arial","#66ccff");
    stage.addChild(text);

    createjs.Ticker.setFPS(30);
    createjs.Ticker.addEventListener("tick",tickAction);
}

function tickAction (ev) {
    count ++;
    text.text = "num:"+count;
    stage.update();
}

示意图:


猜你喜欢

转载自blog.csdn.net/u012881779/article/details/79716765