博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
canvas和svg
阅读量:5972 次
发布时间:2019-06-19

本文共 1221 字,大约阅读时间需要 4 分钟。

什么是canvas

  HTML5 <canvas> 标签用于绘制图像(通过脚本,通常是 JavaScript)。

  不过,<canvas> 元素本身并没有绘制能力(它仅仅是图形的容器) - 您必须使用脚本来完成实际的绘图任务。

  getContext() 方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性。

  本手册提供完整的 getContext("2d") 对象属性和方法,可用于在画布上绘制文本、线条、矩形、圆形等等。

  属性    方法

     设置或返回用于填充绘画的颜色、渐变或模式

     设置或返回用于笔触的颜色、渐变或模式

          设置或返回用于阴影的颜色

     设置或返回用于阴影的模糊级别

     设置或返回阴影距形状的水平距离

     设置或返回阴影距形状的垂直距离

什么是SVG

  SVG 指可伸缩矢量图形 (Scalable Vector Graphics)

  SVG 用来定义用于网络的基于矢量的图形

  SVG 使用 XML 格式定义图形

  SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失

  SVG 是万维网联盟的标准

  SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体

SVG的历史和优势

       在 2003 年一月,SVG 1.1 被确立为 W3C 标准。

       参与定义 SVG 的组织有:Sun公司(已被Oracle公司收购)、Adobe、苹果公司、IBM 以及柯达。

       与其他图像格式相比,使用 SVG 的优势在于:

  SVG 可被非常多的工具读取和修改(比如记事本)

  SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强。

  SVG 是可伸缩的

  SVG 图像可在任何的分辨率下被高质量地打印

  SVG 可在图像质量不下降的情况下被放大

  SVG 图像中的文本是可选的,同时也是可搜索的(很适合制作地图)

  SVG 可以与 Java 技术一起运行

  SVG 是开放的标准

  SVG 文件是纯粹的 XML

  SVG 的主要竞争者是 Flash。

  与 Flash 相比,SVG 最大的优势是与其他标准(比如 XSL 和 DOM)相兼容。而 Flash 则是未开源的私有技术。

二者的区别

  Canvas

 

    依赖分辨率

 

    不支持事件处理器

 

    弱的文本渲染能力

 

    能够以 .png 或 .jpg 格式保存结果图像

 

    最适合图像密集型的游戏,其中的许多对象会被频繁重绘

 

  SVG

 

    不依赖分辨率

 

    支持事件处理器

 

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

 

    复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)

 

    不适合游戏应用

 

转载于:https://www.cnblogs.com/y123/p/10901886.html

你可能感兴趣的文章
无限循环RecyclerView的完美实现方案
查看>>
Android中的消息机制
查看>>
TCP - 基础
查看>>
前端常用代码示例-1
查看>>
多线程安全-sychronized
查看>>
Amazing tree —— 二叉查找树
查看>>
2048块GPU再次加速SGD:富士通74.7秒完成ResNet-50 训练
查看>>
git flow 实操记录
查看>>
UITextView 设置 PlaceHolder
查看>>
程序猿生存指南-49 何为渣男
查看>>
Spring-Data-Redis 解析
查看>>
理解BFC
查看>>
MVC
查看>>
CentOS 7 下 Oracle 11g 安装教程
查看>>
浅析vue2.0的diff算法
查看>>
JS·基础(一)
查看>>
# 学习笔记-协议# OSI七层模型 与 TCP/IP五层协议
查看>>
Callbacks, Promises and Async/Await
查看>>
华为程序员:加6天班!加班费1.4万元!网友:我能加到它破产
查看>>
解读 JavaScript 之引擎、运行时和堆栈调用
查看>>