zoukankan      html  css  js  c++  java
  • canvas 和 svg

    对于开发人员而言,最直观的区别在于:
    1.对于画在Canvas上的部件,你需要处理重绘。而SVG则不用,你修改svg dom则系统会自动帮你重绘
    2.Hittest,即canvas不负责帮你侦测鼠标/触摸事件发生在哪一个图形元件上;而svg可以。
    3.Canvas效率高得多


    Canvas和SVG是HTML5中主要的2D图形技术,前者提供画布标签和绘制API,后者是一整套独立的矢量图形语言,成为W3C标准已经有十多年(2003.1至今),总的来说,Canvas技术较新,从很小众发展到广泛接受,注重栅格图像处理,SVG则历史悠久,很早就成为国际标准,复杂,发展缓慢(Adobe SVG Viewer近十年没有大的更新)


    Canvas vs SVG

    <canvas>和<svg>都是HTML5推荐使用的图形技术,Canvas基于像素,提供2D绘制函数,是一种HTML元素类型,依赖于HTML,只能通过脚本绘制图形;SVG为矢量,提供一系列图形元素(Rect, Path, Circle, Line …),还有完整的动画,事件机制,本身就能独立使用,也可以嵌入到HTML中,SVG很早就成为了国际标准,目前的稳定版本是1.1 – Scalable Vector Graphics (SVG) 1.1 (Second Edition),两者的主要特点见下面的表格:


     

    SVG与Canvas主要特点

    根据两者的不同特点,Canvas和SVG有各自的适用范围

    Canvas适用场景

    Canvas提供的功能更原始,适合像素处理,动态渲染和大数据量绘制

    SVG适用场景

    SVG功能更完善,适合静态图片展示,高保真文档查看和打印的应用场景

  • 相关阅读:
    02---Nginx
    7.如何发布vue项目到服务器
    6.vue如何上传到svn
    6.解决AXIOS的跨域问题
    4.VUEX到底是什么
    3.sublime vue 语法高亮插件安装
    2.vue 安装教程
    1.Google Chrome浏览器 控制台全解析
    6.如何使用jedis的线程池
    java如何LOG打印出日志信息
  • 原文地址:https://www.cnblogs.com/chengdabelief/p/6636456.html
Copyright © 2011-2022 走看看