• 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>
    代码改变了我们,也改变了世界
  • 相关阅读:
    男子利用POS机帮人非法套现1576万余元被起诉
    套现花样很多 弄不好成了诈骗
    刀尖上的无本生意 信用卡套现投资盛行
    新三板是什么—新三板科普知识讲堂
    Android注入事件的三种方法比较
    当今最流行的Node.js应用开发框架简介
    安卓WindowManager注入事件如何跳出进程间安全限制
    伟大创意检验10要
    初创互联网公司简明创业指南
    根据Unix哲学来编写你的HTML5 Websocket服务器来实现全双工通信
  • 原文地址:https://www.cnblogs.com/wencaiguagua/p/13603312.html
Copyright © 2020-2023  润新知