掌握SVG基础:从零开始学习

格栅图可以实现图片的清晰显示,但这也意味着如果要在各种设备上使用格栅图,就会增加大量不同规格的格栅图,以适应各种尺寸的设备。这也直接导致资源文件体积的增加,矢量图没有这个问题。本文将SVG代码编写与即时设计工具相结合,介绍SVG的基础知识。

什么是 SVG

SVG(Scalable Vector Graphics)它是一种图像文件格式,意思是可缩放矢量图形。它是基于XMLL的。(Extensible Markup Language),World Wide Web Consortium(W3C)该联盟正在开发中。它是一种开放的标准矢量图形语言,可以让你设计出令人兴奋、高分辨率、Web图形页面。

用户可以直接使用代码绘制图像,使用任何文本处理工具打开SVG格式图像,通过改变部分代码使图像具有交互功能,并可以随时插入HTML通过浏览器观看。

即时设计 - 可实时协作的专业 UI 设计工具即时设计是一款支持在线协作的专业级 UI 设计工具,支持 Sketch、Figma、XD 格式导入,海量优质设计资源即拿即用。支持创建交互原型、获取设计标注,为产设研团队提供一站式协同办公体验。icon-default.png?t=N7T8https://js.design/?source=csdn&plan=btt065

为了直观地显示SVG代码,我将使用即时设计制作一个矩形来显示SVG代码。

在即时设计软件中制作矩形,直接导出SVG格式文件

打开导出的.SVG格式文件,您可以看到相应的SVG代码

使用矩形工具绘制的图形对应于SVG中的标签。基本标签由四个基本属性定义:矩形的起点坐标x和y、矩形的width和height

当width与height值相等时,就会画出一个正方形。

SVG是可读的,易于理解和修改的,作为内联 SVG嵌入 HTML 文档时,可以通过 CSS 或 JavaScript 操作 SVG代码。因此, SVG格式与传统 PNG、GIF 或 JPG 与图形格式相比,它更具灵活性和多功能性。

SVG的优点是什么?

SVG在应用过程中也有非常明显的优势。例如:

可扩展性和响应性

SVG使用形状、数字和坐标在浏览器中呈现图形,可以避免分辨率的影响,并具有无限的可伸缩性。SVG格式可以结合不同的形状、路径和文本元素来创造各种视觉效果,在任何尺寸下都非常清晰。相反,格栅格式(如GIF)、JPG和PNG)它们有固定的尺寸,所以它们在收缩时是像素化的。

可编程性和交互性

SVG格式可以编辑和编写脚本,所有类型的动画和交互都可以通过CSS和/或JavaScript添加到内联SVG图形中。

可访问性

SVG文件是基于文本的,所以当它嵌入到网页中时,它可以被搜索和索引。此外,还可以访问屏幕阅读器、搜索引擎和其他设备。

性能

影响网页性能的最重要因素之一是网页中使用的文件大小。SVG图形通常比位图文件格式小。

常见的 SVG实例

插图和图表

任何适合用钢笔和铅笔制作的传统绘图都应该完美地转化为 SVG格式。

标志和图标

logo和图标都是清晰锐利的。因此,SVG是logo和图标的最佳格式,SVG格式图标更容易访问和定位。

免费的SVG图标分享icon-default.png?t=N7T8https://js.design/community?category=detail&type=resource&id=65f1764f7ad3cda67792c650&source=csdn&plan=btt065

动画

您可以创建吸引人的动画,例如:

你可以使用 SVG格式图形的酷线画效果。

SVG代码可以和 CSS 动画以及 JavaScript 及其内置的 SMIL 交互动画功能。

交互性(图表、图形、信息图表、地图)

SVG可用于绘制数据,并根据用户操作或其他事件动态更新数据。

特殊效果

使用SVG可以实现许多实时效果,包括形状变形或不同的粘度效果,如带有外阴影的椭圆:

构建接口和应用程序

我们可以用SVG制作难度接口,并与HTML5、基于Web的应用程序和Internet应用程序进行合作(RIA)相结合。

支持SVG的浏览器

目前,大多数现代Web浏览器都支持SVG最重要、最基本的功能。

读到这里,我想你应该对SVG有一个初步的了解。然而,作为一名UI设计师,你仍然需要做很多实践。上述多次提到的即时设计工具是新一代的设计合作工具。它可以无缝地连接以前的工作,并支持SVG、Sketch、XD等文件的导入和导出是您进行UI创作练习的实用工具。

即时设计 - 可实时协作的专业 UI 设计工具即时设计是一款支持在线协作的专业级 UI 设计工具,支持 Sketch、Figma、XD 格式导入,海量优质设计资源即拿即用。支持创建交互原型、获取设计标注,为产设研团队提供一站式协同办公体验。icon-default.png?t=N7T8https://js.design/?source=csdn&plan=btt065

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/22962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ Primer 总结索引 | 第十五章:面向对象程序设计

继承和动态绑定 对程序的编写 有两方面的影响:一是 我们可以更容易地定义与其他类相似 但不完全相同的新类;二是 在使用这些彼此相似的类编写程序时,我们可以在一定程度上 忽略掉它们的区别 在很多程序中都存在着一些相互关联 但是有细微差别…

PDF批量加水印 与 去除水印实践

本文主要目标是尝试去除水印,但是为了准备测试数据,我们需要先准备好有水印的pdf测试文件。 注意:本文的去水印只针对文字悬浮图片悬浮两种特殊情况,即使是这两种情况也不代表一定都可以去除水印。 文章目录 批量添加透明图片水印…

【Web API DOM10】日期(时间)对象

一:实例化 1 获取系统当前时间即创建日期对象 const date new Date() console.log(date) 2024年6月5日周三 2 获取指定的时间 以获取2025年6月29日为例 const date new Date(2025-6-29) console.log(date) 二:日期对象方法 1 使用场景&#xf…

关于信号翻转模块(sig_flag_mod)的实现

关于信号翻转模块(sig_flag_mod)的实现 语言 :Verilg HDL 、VHDL EDA工具:ISE、Vivado、Quartus II 关于信号翻转模块(sig_flag_mod)的实现一、引言二、实现信号翻转模块的方法(1)输入接口(2)输出接口&…

新手学习编程网站一站式合集

LTPP在线开发平台 探索编程世界的新天地,为学生和开发者精心打造的编程平台,现已盛大开启!这个平台汇集了近4000道精心设计的编程题目,覆盖了C、C、JavaScript、TypeScript、Go、Rust、PHP、Java、Ruby、Python3以及C#等众多编程语…

【javaEE初阶】

🌈🌈🌈关于java ⚡⚡⚡java的由来 我们这篇文章主要是来介绍javaEE,一般称为java企业版,实际上java的历史可以追溯到上个世纪90年代,当时主要的语言主流的还是C语言和C,但是在那个时期嵌入式初…

小熊家务帮day13-day14 门户管理(ES搜索,Canal+MQ同步,索引同步)

目录 1 服务搜索1.1 需求分析1.2 技术方案1.2.1 使用Elasticsearch进行全文检索(为什么数据没有那么多还要用ES?)1.2.2 索引同步方案1.2.2.1 Canal介绍1.2.2.1 Canal工作原理 1 服务搜索 1.1 需求分析 服务搜索的入口有两处: 在…

c# 学习 2

常量 转义字符 类型转换

强化训练:day12(删除公共字符、两个链表的第一个公共结点、mari和shiny)

文章目录 前言1. 删除公共字符1.1 题目描述1.2 解题思路1.3 代码实现 2. 两个链表的第一个公共结点2.1 题目描述2.2 解题思路2.3 代码实现 3. mari和shiny3.1 题目描述3.2 解题思路3.3 代码实现 总结 前言 1. 删除公共字符   2. 两个链表的第一个公共结点   3. mari和shiny…

编译原理总结

编译器构成 1. 前端分析部分 1.1 词法分析 确定词性,输出为token序列 1.2 语法分析 识别短语 1.3 语义分析 分析短语在句子中的成分 IR中间代码生成 2. 机器无关代码优化 3. 后端综合部分 目标代码生成 机器相关代码优化 4. 其他 全局信息表 异常输出

一个思维狂赚20万+?揭秘电商平台隐藏的流量认知!

你想要的流量,资源,人脉,都已经有人为你准备,你只需要找到拥有这些资源的人。对于流量和信息,也是一样,你想找的客户和产品,都已经有人为你准备在淘宝、拼多多等电商平台,你只需要找…

IO流,文件操作

参考 Java IO 基础知识总结 | JavaGuide 史上最骚最全最详细的IO流教程,没有之一! - 宜春 - 博客园 零、io-流简介 IO 即 Input/Output,输入和输出。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据…

[沫忘录]MySQL InnoDB引擎

[沫忘录]MySQL InnoDB引擎 逻辑存储结构 InnoDB采用 “表、段,区, 页、行” 这样的层级结构进行存储。 **表空间(tablespace)**ibd文件,主要用于存储记录、索引等数据,一个mysql实例可有多个表空间,甚至能通过innodb…

【机器学习】深度探索:从基础概念到深度学习关键技术的全面解析——梯度下降、激活函数、正则化与批量归一化

🔥 个人主页:空白诗 文章目录 一、机器学习的基本概念与原理二、深度学习与机器学习的关系2.1 概念层次的关系2.2 技术特点差异2.3 机器学习示例:线性回归(使用Python和scikit-learn库)2.4 深度学习示例:简…

在cmd菜单中使用自定义命令通过bat和powershell命令调用翻译API

先说一个血淋淋的结果,这个小功能其实在github已经有大佬帮我们封装好了,我也是自己刚倒腾好之后才发现的,所以如果只是需要这个功能的朋友可以直接移步这个项目:https://github.com/kenshinji/yddict,自己电脑安装一个…

Linux 磁盘分区步骤

1.lsblk用于查看磁盘分区情况,lsblk -f用于查看uuid字符串以及挂载点。 以下是虚拟机部分添加磁盘的步骤。 其余没展示的都按照默认设置进入下一步即可。 2.添加完成后使用reboot重新进入后再使用lsblk就会发现磁盘sdb已经有了,但是没有分区。现在添加分…

三十六、openlayers官网示例Earthquake Clusters解析——在聚合图层鼠标触摸显示五角星

官网demo地址: Earthquake Clusters 这篇展示了鼠标触摸聚合图层点位显示五角星的效果。 首先是初始化地图,加载了一个KML格式的矢量数据源,extractStyles为false表示不从kml数据源中提取样式。使用Select添加了鼠标选中的交互事件 vector …

【Kubernetes】 emptyDir、nfs存储卷 和 PV、PVC

emptyDir存储卷 当pod被分配给节点 容器和容器之间进行共享存储 hostPath nfs共享存储卷 NAS 专业的存储设备;一般是与NFS 搭配,然后共享出去 GFS 自己搭;CEPH(至少要9台) 第三方;NAS 第三方; 云端 oss …

【wiki知识库】05.分类管理模块--后端SpringBoot模块

📝个人主页:哈__ 期待您的关注 目录 一、🔥今日目标 二、☀SpringBoot代码修改 1.使用逆向工程生成Category表结构 2. 新增CategoryQueryParam 3.新增CategorySaveParam 4.新增CategotyQueryVo 三、🤖新增分类管理的相关接口…

v1.2.70-FastJson的AutoType机制研究

v1.2.70-FastJson的AutoType机制研究 最近在对接Alexa亚马逊语音技能,Smart Home Skill Apis时,有一个配置的JSON字符串是这样的: { "capabilityResources": {"friendlyNames": [{"type": "asset",…