zoukankan      html  css  js  c++  java
  • HTML 5 Canvas

    HTML 5 Canvas

     

    HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。


    <canvas id="myCanvas" width="200" height="100">内容</canvas>
    canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成


    1绘制一个红色的矩形
    <script type="text/javascript">
    var c=document.getElementById("myCanvas");
    var cxt=c.getContext("2d");
    cxt.fillStyle="#FF0000";
    cxt.fillRect(0,0,150,75);//绘制 150x75 的矩形,从左上角开始 (0,0)
    </script>


    2指定从何处开始,在何处结束,来绘制一条线
    <script type="text/javascript">
    var c=document.getElementById("myCanvas");
    var cxt=c.getContext("2d");
    cxt.moveTo(10,10);//第一个点
    cxt.lineTo(150,50);//第二个点
    cxt.lineTo(10,50);//第三个点
    cxt.stroke();
    </script>


    3规定尺寸、颜色和位置,来绘制一个圆
    <script type="text/javascript">
    var c=document.getElementById("myCanvas");
    var cxt=c.getContext("2d");
    cxt.fillStyle="#FF0000";
    cxt.beginPath();
    cxt.arc(70,18,15,0,Math.PI*2,true);
    cxt.closePath();
    cxt.fill();
    </script>
    参数:
    arc(cx,cy,radius,start_angle,end_angle,direction);
    cx 水平坐标;cy 垂直坐标;radius 半径
    start-angel 圆周起始位置 
    end_angle 弧长 Math.PI是半圆 Math.PI*2是整个圆 0.5为四分之一
    direction 顺、逆时针 false为顺时针,true为逆时针(决定了圆弧的方向)

    4指定的颜色来绘制渐变背景
    <script type="text/javascript">

    var c=document.getElementById("myCanvas");

    var cxt=c.getContext("2d");
    var grd=cxt.createLinearGradient(0,0,175,50);
    grd.addColorStop(0,"#FF0000");
    grd.addColorStop(1,"#00FF00");
    cxt.fillStyle=grd; //把渐变赋给填充样式 
    cxt.fillRect(0,0,175,50);
    </script>
    参数
    createLinearGradient(x1,y1,x2,y2)
    x1,y1就是表示线性渐变的起点坐标,x2,y2就表示终点坐标。 
    addColorStop(位置,颜色)


    5一幅图像放置到画布上
    <script type="text/javascript">
    var c=document.getElementById("myCanvas");
    var cxt=c.getContext("2d");
    var img=new Image()
    img.src="flower.png"
    cxt.drawImage(img,0,0);
    </script>


    6 getContext("2d") 对象是内建的 HTML5 对象,
    拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

  • 相关阅读:
    c++错误崩溃3
    c++崩溃错误2
    c++多线程崩溃错误1
    MySQL UNSIGNED
    2PC和3PC
    proxy-target-class="false"与proxy-target-class="true"区别
    Spring MVC processing flow
    Spring中自动装配的模式
    Spring中BeanFactory和ApplicationContext的区别
    什么是Spring
  • 原文地址:https://www.cnblogs.com/power8023/p/5842477.html
Copyright © 2011-2022 走看看