热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

可视化领域SVG

本文主要分享【国内有哪些可视化公司】,技术文章【可视化领域SVG】为【前端小草籽】投稿,如果你遇到小游戏开发相关问题,本文相关知识或能到你。国内有哪些可视化公司目录1.什么是可视化?

本文主要分享【国内有哪些可视化公司】,技术文章【可视化领域 SVG】为【前端小草籽】投稿,如果你遇到小游戏开发相关问题,本文相关知识或能到你。

国内有哪些可视化公司

目录

1.什么是可视化?

2.SVG的使用方式

1.使用方法

2. SVG默认宽高

3.基础图形

1.矩形

设置矩形位置

2.圆角矩形

3.rect版的圆形

4.圆形 circle

5.椭圆 ellipse

5.直线 line

6.折线 polyline

7.多边形 polygon

8.直线路径 path


1.什么是可视化?

在学习 SVG 之前,首先要了解 位图 和 矢量图 的区别。

简单来说:

位图:放大会失真图像边缘有锯齿;是由像素点组成;前端的  Canvas 就是位图效果。矢量图:放大不会失真;使用  XML 描述图形。

左边是位图,右边是矢量图

那么 SVG 是什么呢?它是矢量图的其中一种格式。它是用 XML 来描述图形的

对于初学 SVG 的前端来说,可以简单的理解为 SVG 是一套新标签”

所以可以使用 CSS 来设置样式,也可以使用 JS 对 SVG 进行操作

2.SVG的使用方式 1.使用方法

SVG 的使用方式有很多种,我最推荐直接在 HTML 中直接使用,也就是直接当 HTML 标签使用。

这里记录了几种使用方法:

在浏览器直接打开内嵌到  HTML 中(推荐⭐⭐⭐) CSS 背景图(推荐⭐)使用  img 标签引入(推荐⭐)使用  iframe 标签引入(不推荐❌)使用  embed 标签引入(不推荐❌)使用  object 标签引入(不推荐❌)
2. SVG默认宽高

在 HTML 中使用 SVG ,直接用   标签即可


  

在不给   设置宽高时,它的默认宽度是 300px ,默认高度是 150px 。这点和   是一样的。

3.基础图形

HTML 的元素大多数默认都是矩形,SVG 在形状上更加丰富。

1.矩形

矩形使用 标签,默认填充色是黑色,当只设置宽高时,渲染出来的矩形就是黑色的矩形。

稍后还会说明如何设置样式(比如边框、填充色等),这里只列出矩形基础属性:

x: 左上角x轴坐标 y: 左上角y轴坐标 width: 宽度 height: 高度 rx: 圆角,x轴的半径 ry: 圆角,y轴的半径

eg: 基础款(只设置宽高)


   
    
  
设置矩形位置

 通过 x 和 y 可以设置矩形位置


   
    
    
  
2.圆角矩形


   
    
    
  

rx 是设置x轴的半径,ry 设置y轴的半径。

rx 的最大值是矩形宽度的一半,ry 的最大值是矩形高度的一半。

当只设置 rx 或者 ry 其中一个值时,另一个属性也会使用一样的值。


   
    
    
  

此时 rx 和 ry 都是 30。

3.rect版的圆形

圆角的概念和 CSS 的 border-radius 有点像,所以有没有一种可能,用   也可以画圆形呢?


   
    
    
  

只要把宽高设成一样,圆角设成宽度的一半就能实现圆形。这是在 HTML 里的实现方式之一。

同理也用   实现椭圆,但在 SVG 中是不会这样做的。因为 SVG 里有专门的圆形和椭圆的标签。

4.圆形 circle

圆形使用   标签,基础属性有:

cx: 圆心在x轴的坐标 cy: 圆心在y轴的坐标 r: 半径


   
    
    
  
5.椭圆 ellipse

椭圆使用   标签,基础属性有:

cx: 圆心在x轴的坐标 cy: 圆心在y轴的坐标 rx: x轴的半径 ry: y轴的半径


   
    
    
  

 和   差不多,只是将半径拆成x轴和y轴的。

5.直线 line

直线使用   标签,基础属性有:

x1: 起始点x坐标 y1: 起始点y坐标 x2: 结束点x坐标 y2: 结束点y坐标 stroke: 描边颜色


   
    
    
  

只有 x1 和 x2 ,没有 x3 ,也没有 y3 。

需要注意的是,  需要使用设置 stroke 属性才会有绘制效果。

6.折线 polyline

使用   可以绘制折线,基础属性有:

points: 点集 stroke: 描边颜色 fill: 填充颜色


   
    
    
  

points 接受的值是一串点集,点集是两两一组表示一个坐标。

其实点集完全不需要用逗号隔开,上面的例子中我使用了逗号隔开,完全是为了让自己阅读代码时比价易懂。一个逗号分隔一个 xy 坐标。

在绘制折线是,我通常是将 fill 设置成 none ,因为 fill 默认值是黑色,如果不设置成 none 会出现以下效果:


   
    
    
  

 fill 设置成 none 后,必须设置 stroke 为一个有颜色的值,不然不会有渲染效果

7.多边形 polygon

多边形使用   标签,基础属性和   差不多:

points: 点集 stroke: 描边颜色 fill: 填充颜色

 会自动闭合(自动将起始点和结束点链接起来)。


   
    
  
8.直线路径 path

其实在 SVG 里,所有基本图形都是   的简写。所有描述轮廓的数据都放在 d 属性里,d 是 data 的简写。

d 属性又包括以下主要的关键字(注意大小写!):

M: 起始点坐标, moveto 的意思。每个路径都必须以 M 开始。 M 传入 xy 坐标,用逗号或者空格隔开。 L: 轮廓坐标, lineto 的意思。 L 是跟在 M 后面的。它也是可以传入一个或多个坐标。大写的 L 是一个 绝对位置。l: 这是小写 L,和 L 的作用差不多,但 l 是一个 相对位置H: 和上一个点的Y坐标相等,是 horizontal lineto 的意思。它是一个 绝对位置h: 和 H 差不多,但 h 使用的是 相对定位V: 和上一个点的X坐标相等,是 vertical lineto 的意思。它是一个 绝对位置v: 这是一个小写的 v ,和大写 V 的差不多,但小写 v 是一个相对定位。 Z: 关闭当前路径, closepath 的意思。它会绘制一条直线回到当前子路径的起点。

本文《可视化领域 SVG》版权归前端小草籽所有,引用可视化领域 SVG需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 前端提高篇(七十):SVG基本使用、基本样式、路径path
    SVG是使用XML来描述二维图形和绘图程序的语言。SVG遵循的是xml的规范,与html5的使用有所区别SVG绘制出来的是矢量图,放大之后不会失真官方文 ... [详细]
  • <svg ... [详细]
  • Ifyouaretryingtostopthesessionfromtimeingoutallthetimeyoucandothisratherthanincreasingthes ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 用JavaScript实现的太空人手表
    用JavaScript实现的太空人手表-JS写的太空人手表,没有用canvas、svg。主要用几个大的函数来动态显示时间、天气这些。天气的获取用到了AJAX请求。代码中有详细的注释 ... [详细]
  • 重学前端学习笔记(十八)JavaScript的闭包和执行上下文
    笔记说明重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完整的可以加 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • ajaxfileupload.js 兼容ie9,10
    在使用ajaxfileupload.js上传文件时,ie9和ie10会报INVALID_CHARACTER_ERR(5)的错误,导致无法上传成功;网上查了一系列处理方式:如:把代码 ... [详细]
author-avatar
广东暖暖_小乖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有