zoukankan      html  css  js  c++  java
  • Canvas

    创建一个画布(Canvas)

    一个画布在网页中是一个矩形框,通过 <canvas> 元素来绘制.

    注意: 默认情况下 <canvas> 元素没有边框和内容。

    <canvas>简单实例如下:

    <canvas id="myCanvas" width="200" height="100"></canvas>

    注意: 标签通常需要指定一个id属性 (脚本中经常引用), width 和 height 属性定义的画布的大小.

    提示:你可以在HTML页面中使用多个 <canvas> 元素.

    使用 style 属性来添加边框:

    2.1 <canvas> 元素

    <canvas> 看起来和 <img> 标签一样,只是 <canvas> 只有两个可选的属性 width、heigth 属性,而没有 src、alt 属性。

    ​如果不给 <canvas> 设置 widht、height 属性时,则默认 width为300、height 为 150,单位都是 px。也可以使用 css 属性来设置宽高,但是如宽高属性和初始比例不一致,他会出现扭曲。所以,建议永远不要使用 css 属性来设置 <canvas> 的宽高。

    替换内容

    ​由于某些较老的浏览器(尤其是 IE9 之前的 IE 浏览器)或者浏览器不支持 HTML 元素 <canvas>,在这些浏览器上你应该总是能展示替代内容。

    ​支持 <canvas> 的浏览器会只渲染 <canvas> 标签,而忽略其中的替代内容。不支持 <canvas> 的浏览器则 会直接渲染替代内容。

    用文本替换:

    <canvas>
        你的浏览器不支持 canvas,请升级你的浏览器。
    </canvas>

    用 <img> 替换:

    <canvas>
        <img src="./美女.jpg" alt=""> 
    </canvas>

    结束标签 </canvas> 不可省略。

    与 <img> 元素不同,<canvas> 元素需要结束标签(</canvas>)。如果结束标签不存在,则文档的其余部分会被认为是替代内容,将不会显示出来。

    2.2 渲染上下文(Thre Rending Context)

    <canvas> 会创建一个固定大小的画布,会公开一个或多个渲染上下文(画笔),使用渲染上下文来绘制和处理要展示的内容。

    ​ 我们重点研究 2D 渲染上下文。 其他的上下文我们暂不研究,比如, WebGL 使用了基于 OpenGL ES的3D 上下文 ("experimental-webgl") 。

    var canvas = document.getElementById('tutorial');
    //获得 2d 上下文对象
    var ctx = canvas.getContext('2d');

    2.3 检测支持性

    var canvas = document.getElementById('tutorial');
    
    if (canvas.getContext){
      var ctx = canvas.getContext('2d');
      // drawing code here
    } else {
      // canvas-unsupported code here
    }

    2.4 代码模板

    实例

    <canvas id="tutorial" width="300" height="300"></canvas> <script type="text/javascript"> function draw(){ var canvas = document.getElementById('tutorial'); if(!canvas.getContext) return; var ctx = canvas.getContext("2d"); //开始代码 } draw(); </script>
    代码改变了我们,也改变了世界
  • 相关阅读:
    centos7查看启动的进程并杀死
    3.3 Zabbix容器安装
    windows下XAMPP集成环境中,MySQL数据库的使用
    pip淘宝镜像安装
    服务起不来,查看ps axj 看服务是否为守护进程(TPGID 为-1)
    dcloud_base连接失败(root:admin123!@#qwe@tcp(192.168.8.205:3306)/dcloud_base) Error 1129: Host '192.168.8.205' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
    服务部署_软加密之后要重新启动才能生效
    AWS Certified Solutions Architect
    Cloud Formation Mapping经常用于AMI ID的region映射
    CloudFormation StackSets
  • 原文地址:https://www.cnblogs.com/wencaiguagua/p/13603312.html
Copyright © 2011-2022 走看看