zoukankan      html  css  js  c++  java
  • canvas(01基础用法)

    1.canvas大小的初始化

    <canvas id="tutorial" width="150" height="150"></canvas>片
    

    canvas 标签只有两个属性—— width和height。这些都是可选的,并且同样利用 DOM properties 来设置。
    当没有设置宽度和高度的时候,canvas会初始化宽度为300像素和高度为150像素。该元素可以使用CSS来定义大小,但在绘制时图像会伸缩以适应它的框架尺寸:如果CSS的尺寸与初始画布的比例不一致,它会出现扭曲。

    2.替换内容

    canvas 相比于img标签很容易展示替代的内容,以为canvas的不同浏览器支持率不是很高。利用下面的方法,不支持canvas的浏览器将会忽略容器,渲染其中的内容。而支持的浏览器将会直接渲染标签而忽略其中的文字。

    <canvas id="stockGraph" width="150" height="150">
      current stock price: $3.15 +0.15
    </canvas>
    
    <canvas id="clock" width="150" height="150">
      <img src="images/clock.png" width="150" height="150" alt=""/>
    </canvas>
    

    3.标签不可省略

    canvas标签需要闭合。如果标签不结束下文的内容将会被认为是替代的内容从而不进行渲染。

    4. 渲染上下文(The rendering context)

    canvas起初是空白的。为了展示,首先脚本需要找到渲染上下文,然后在它的上面绘制。

    var canvas = document.getElementById('tutorial');
    var ctx = canvas.getContext('2d');
    

    代码的第一行通过使用 document.getElementById() 方法来为 元素得到DOM对象。一旦有了元素对象,你可以通过使用它的getContext() 方法来访问绘画上下文。

    5.检查支持性

    检查canvas DOM元素是否有获取上下文这个api来检测浏览器是否支持canvas

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

    6.一个简单例子

    一开始,让我们来看个简单的例子,我们绘制了两个有趣的长方形,其中的一个有着alpha透明度。我们将在接下来的例子里深入探索一下这是如何工作的。

    <html>
     <head>
      <script type="application/javascript">
        function draw() {
          var canvas = document.getElementById("canvas");
          if (canvas.getContext) {
            var ctx = canvas.getContext("2d");
    
            ctx.fillStyle = "rgb(200,0,0)";
            ctx.fillRect (10, 10, 55, 50);
    
            ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
            ctx.fillRect (30, 30, 55, 50);
          }
        }
      </script>
     </head>
     <body onload="draw();">
       <canvas id="canvas" width="150" height="150"></canvas>
     </body>
    </html>
    

    在这里插入图片描述


        感谢您花时间阅读此篇文章,如果您觉得看了这篇文章之后心情还比较高兴,可以打赏一下,请博主喝上一杯咖啡,让博主继续码字……
        本文版权归作者和博客园共有,来源网址:https://blog.csdn.net/weixin_46498102 欢迎各位转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接
  • 相关阅读:
    Swift中的单例的实现方式
    关于iOS自定义UITabBar的几种方法
    iOS数据持久化(三)
    iOS数据持久化(二)SQLite
    iOS数据持久化(一)
    iOS自定义NavigationBar
    UINavigationController基本使用
    UILabel 整理
    [DEMO]AR 1
    [分享]自主行驶小车idea
  • 原文地址:https://www.cnblogs.com/jackson1/p/13603663.html
Copyright © 2011-2022 走看看