zoukankan      html  css  js  c++  java
  • 3.canvas与svg的区别

    canvas是通过javascript来绘制的2D图形

    canvas是控制像素来渲染的

    一旦渲染完成,浏览器就不会关注了,如果位置发生变化,整个场景就需要重新绘制

     

     <canvas id="mycanvas"
            width="500"
            height="300"
        ></canvas>
    
        <script type="text/javascript">
            var c=document.getElementById("mycanvas");
            var cxt=c.getContext("2d");
            cxt.fillStyle="#FF0000";
            cxt.fillRect(0,0,150,75);
    
            // 画了一条线
            cxt.moveTo(160,0)
            cxt.lineTo(160,90)
            cxt.stroke()
    
            // 画一个圆
            cxt.fillStyle="#FF0000"
            cxt.beginPath();
            cxt.arc(200,100,15,0,Math.PI*2,true);
            cxt.closePath();
            cxt.fill();
    
            // 图像
            var img=new Image()
            img.src="./video/QQ图片20190529164332.jpg" 
            cxt.drawImage(img,100,100)
        </script>

     

    Svg是使用xml描述的2D图形

    也就意味着svg dom里面每个元素都是可用的,可以使用事件处理器

    Svg的属性发生变化,浏览器可以自动重现图形

     

    区别:

                                       canvas                        svg

    分辨率:                      依赖                        不依赖

    支持事件处理:            不支持                       支持

    文本渲染能力:       弱的文本渲染        最适合带有大型渲染区域的应用程序(比如谷歌地图)

    适合游戏:          适合密集型游戏          不适合游戏应用

  • 相关阅读:
    高级映射之事务
    配置tomcat-users.xml文件
    动态SQL之标签
    性能测试
    Service
    添加 aar 或 jar 包依赖 的方式
    安卓设备 以太网代理 问题排查
    剑指offer:面试题15、链表中倒数第 K 个结点
    剑指offer:面试题14、调整数组顺序使奇数位于偶数前面
    剑指offer:面试题13、在O(1)时间删除链表结点
  • 原文地址:https://www.cnblogs.com/zhuMother/p/12199831.html
Copyright © 2011-2022 走看看