下面所有信息均来自http://commons.oreilly.com/wiki/index.php/SVG_Essentials/Getting_Started

SVG,代表为S calable V ector G raphics,是XML的应用程序,使得它可以在一个紧凑的,便携的形式表示图形信息。SVG利息迅速增长,各大公司已经提供工具来创建和查看SVG文件。本章开始与计算机图形学的两大系统的描述,并介绍了SVG适合图形世界。本章最后用一个简单的例子,使用了很多的概念,我们将在下面的章节中详细探讨。

图形系统分为光栅图形和矢量图形

在光栅图形,图像被表示为矩形阵列的图片元素或像素(参见图1-1)。每个像素是表示通过其颜色的RGB值或作为颜色列表中的索引。这一系列的像素,也被称为位图,通常以压缩格式存储。由于最现代化的显示设备也光栅设备,显示图像需要一个浏览器程序,做多一点解压缩位图,并传输到屏幕上。

在矢量图形系统中,一个图像被描述为一系列的几何形状(见图1-2)。而非接收成品像素,矢量收看节目接收命令绘制形状在指定的坐标集。

如果您认为产生描述正方形的颜色应填写在方格纸上的图像,光栅图形工作。通过描述要绘制直线或曲线网格点的矢量图形工作。有些人描述矢量图形作为一个绘图指令的一组,而位图图形(光栅扫描)的色点在特定的地方。矢量图形“理解”它们是什么 - 一个正方形“知道”它是一个正方形和文本“知道”它的文字。因为它们是对象,而不是一个系列的像素,矢量对象可以改变它们的形状和颜色,而位图图形不能。此外,所有的文本搜索,因为它确实是文字,不管它看起来如何,或者它是如何旋转或转换。

另一种方式来思考光栅图形矢量图形画布上的颜料,而具有伸缩性的材料制成的,可以到处移动背景上的线条和形状。

光栅图形的用途

光栅图形是最适合使用的照片,这是很少分明的线条和曲线组成。扫描的图像存储为位图,即使原来可能是“艺术线条”,我们要作为一个整体来存储图像,并不在乎它的各个组成部分。例如,一台传真机,不关心你画什么,它只是从一个地方到另一个栅格形式传输像素。

创建光栅格式的图像工具很普遍,而且通常更易于使用比许多基于矢量工具。有许多不同的方法来压缩和存储的光栅图像,这些格式是公共的内部表示。读取和写入压缩格式,如JPEG,GIF和PNG图像的程序库被广泛使用。这些都是一些原因,Web浏览器,直到SVG的到来,只支持光栅图像。

矢量图形的用途

使用矢量图形:

  • 计算机辅助制图(CAD)程序,准确的测量和图纸上放大看细节的能力是必不可少的
  • 如Adobe Illustrator,用于将高分辨率的打印机上打印的图形设计程序
  • 在直线和曲线的Adobe PostScript打印和成像语言描述您打印的每个字符
  • 基于矢量的Macromedia Flash的系统设计动画,演示和网站

,因为大多数这些文件以二进制格式或紧密压缩的比特流进行编码,解析出嵌入文本浏览器或其他用户代理是困难的,或为一个服务器来动态地创建从外部数据的矢量图形文件。矢量图形的内部表示大多是专有的,和代码来查看或创建他们一般不提供。

可扩展性

他们虽然不是流行的光栅图形,矢量图形功能,使它们在许多应用中宝贵的-他们可以缩放而不损失图像质量。作为一个例子,这里有两张图纸的猫。与光栅图形图1-3,图1-4是一个矢量图像。它们都被显示,因为它们出现在屏幕上,显示每英寸72像素。

SVG角色

1998年,万维网联盟成立了一个工作组,作为一个XML的应用程序开发矢量图形表示。由于SVG是基于XML的应用程序,图像信息存储为纯文本,XML的开放性,可移植性和互操作性带来的优势。

CAD和图形设计方案往往在一个专有的二进制格式存储图纸。增加的能力,导入和导出SVG格式的图纸,应用程序获得一个通用的,标准的信息交换格式。

由于它是一种XML应用,SVG合作,与其他的XML应用。数学教科书,例如,可以使用XSL格式化对象的解释性文字,MATHML描述方程,和SVG生成图表方程。

SVG工作组的规范是一个正式的万维网联盟建议。某些应用程序,如SVG格式Adobe Illustrator和JASC WebDraw的出口图纸。在Web上,SVG浏览器插件,让用户查看相同的脚本和动画功能,Flash有很多演示。由于SVG文件是XML,文本在SVG显示器是提供给任何用户的代理,可以解析XML。

下面的画猫的整个过程

m.kuanggouli.cn  推广返充值

html5 画猫全过程svg入门相关推荐

  1. SVG——入门,路径描边动画

    之前写过一篇通过路径的锚点改变实现图形变化的动画SVG--入门,路径变形动画,今天这一篇的demo是简易的类似进度条之类的图形,核心原理通过改变路径的stroke-dasharray属性,路径的虚线描 ...

  2. SVG 入门教程系列列表

    SVG 入门教程系列列表: SVG 教程 (一) SVG 教程 (二)矩形 SVG 教程 (三)圆形,椭圆,直线 SVG 教程 (四)多边形,曲线,路径 SVG 教程 (五)文本,Stroke 属性, ...

  3. html5制作线路图,HTML5画一个简单呢好看的电路图

    画图API的应用,线,圆等 最近特别忙,承蒙大伙关照,自己折腾着做了个HTML5画电路图 何问起 canvas画简单电路图 by 何问起 [相关推荐] 1. 特别推荐:"php程序员工具箱& ...

  4. 利用html5画出五角星画出星空

    利用html5画出五角星 (在慕课网学习<canvas>标签后代码总结) 五角星的格定点坐标该如何定位?原理图如下: 源代码: <!DOCTYPE HTML> <html ...

  5. 运用html画一个三角形,利用css或html5画出一个三角形的方法

    利用css或html5画出一个三角形的方法 发布时间:2020-09-14 14:49:22 来源:亿速云 阅读:83 作者:小新 这篇文章主要介绍利用css或html5画出一个三角形的方法,文中介绍 ...

  6. PHP画好看的图,HTML5画一个简单呢好看的电路图

    画图API的应用,线,圆等 最近特别忙,承蒙大伙关照,自己折腾着做了个HTML5画电路图 何问起 var canvas = document.getElementById("canHewen ...

  7. html5之太阳地球月球,使用html5画出地球月球和太阳之间的环绕关系

    本文主要是描述了使用html5画出地球月球和太阳之间的环绕关系,其实他们比较简单,主要是通过旋转来控制各个之间的环绕关系!~ 输入代码,里面有注释: ------------------------- ...

  8. HTML5 Plus 移动 App开发入门

    HTML5 Plus 移动 App开发入门 HTML5+扩展了 JavaScript 对象 plus,使得 js 可以调用各种浏览器无法实现或实现不佳的系统能力,设备能力如摄像头.陀螺仪.文件系统等, ...

  9. Qt开发之画图画一把尺子入门案例项目分享

    Qt开发之画图画一把尺子入门案例项目分享 之前就开发过此项目,一直没有上传源码给大家,今天给大家开发源代码,项目实现截图如下. 该项目是入门级项目对画图知识的使用,以及常用控件的使用,具备研究价值.没 ...

  10. html原理图,HTML5画电路图

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 画图API的应用,线,圆等 http://t.cn/RGfhSlO 何问起 var can ...

最新文章

  1. 在docker上安装部署tomcat项目 超简单,拿来主义
  2. 微信小程序之apply和call ( 附示例代码和注释讲解) apply call  bind
  3. 水平越权访问与垂直越权访问漏洞
  4. 万字长文带你看尽深度学习中的各种卷积网络
  5. 大顶堆删除最大值_算法学习笔记(47): 二叉堆
  6. 移动硬盘格式化了的资料找回方法
  7. 后台系统可扩展性学习笔记(三)DNS机制原理
  8. java ui设计用什么_什么是UI设计?
  9. Java 算法 数字分类
  10. qtabbar设置不同宽度_透水地坪需要设置伸缩缝吗?
  11. 使用案例_Excel中LOOKUP函数的使用案例
  12. Google Earth Engine —— LandTrendr JavaScript 模块API(2万多字长文)
  13. 学习C语言的心路历程
  14. 解锁 Elastic 最新的数据采集模块 - Ingest manager 和 Elastic Agent
  15. 罗马数字转换python_20190502-罗马数字转换为数字
  16. M,BB面试+职业求教
  17. Python调用Jar包的两种方式
  18. Linux网络技术管理及进程管理(week2_day4)--技术流ken...
  19. 【运营】新品推广方案整理
  20. 恒星绕太阳转css,地球绕太阳转,太阳绕银河系中心转,银河系绕着什么转?

热门文章

  1. Leetcode 408: Valid Word Abbreviation
  2. 全国计算机一级证书重点知识,全国计算机一级
  3. Arcmap技巧总结(豆丁)
  4. CSS强制图像调整大小并保持纵横比
  5. 小码哥CRM项目(二)p20~p35
  6. 云上架构和传统IT架构的区别在哪里?(企业CIO、CTO必读)
  7. Java多线程篇--并发关键字synchronized和volatile
  8. 手撕:经典问题的遗传算法代码
  9. 在java中move是什么意思_move是什么意思
  10. 不用命令行WinRAR解压7z.001格式的文件