突破编程_前端_SVG(基础元素介绍)

news2024/10/6 12:34:34

1 rect 矩形

在 SVG 中,<rect> 元素用于创建圆形。

(1)基本语法

<rect
  x="x坐标"
  y="y坐标"
  width="宽度"
  height="高度"
  rx="可选:圆角x半径"
  ry="可选:圆角y半径"
  fill="可选:填充颜色"
  stroke="可选:描边颜色"
  stroke-width="可选:描边宽度"
  ... />
  1. x, y :这两个属性定义了矩形左上角的坐标。默认值是 0。
  2. width, height :这两个属性定义了矩形的宽度和高度。
  3. rx, ry :这两个属性可选,用于定义矩形的圆角半径。如果 rx 和 ry 相同,则矩形四个角都是相同的圆角;如果不同,则左上角和右下角的圆角半径为 rx,右上角和左下角的圆角半径为 ry。
  4. fill :定义矩形的填充颜色。如果不设置此属性,矩形将默认透明。
  5. stroke :定义矩形的描边颜色。如果不设置此属性,矩形将没有描边。
  6. stroke-width :定义矩形的描边宽度。默认值是 1。

(2)示例

<svg width="200" height="200">
  <rect x="10" y="10" width="100" height="50" fill="blue" stroke="black" stroke-width="2" />
</svg>

在这里插入图片描述

在这个示例中,我们创建了一个 200x200 的 SVG 画布,并在其中绘制了一个矩形。矩形的左上角坐标是 (10, 10),宽度是 100,高度是 50。矩形被填充为蓝色,描边为黑色,描边宽度为 2。

2 circle 圆形

在 SVG 中,<circle> 元素用于创建圆形。

(1)基本语法

<circle
  cx="圆心x坐标"
  cy="圆心y坐标"
  r="半径"
  fill="可选:填充颜色"
  stroke="可选:描边颜色"
  stroke-width="可选:描边宽度"
  ... />
  1. cx, cy :这两个属性定义了圆心的x和y坐标。它们是<circle>元素的核心属性,决定了圆的位置。如果省略这些属性,圆心将默认为(0, 0)。
  2. r :这个属性定义了圆的半径。半径决定了圆的大小。
  3. fill :这个属性用于设置圆的填充颜色。如果不设置,圆将默认为透明。
  4. stroke :这个属性用于设置圆的描边颜色。如果不设置,圆将没有描边。
  5. stroke-width :这个属性用于设置圆的描边宽度。如果设置了描边颜色但没有设置描边宽度,那么描边的默认宽度通常为1。

(2)示例

<svg width="200" height="200">
  <circle cx="100" cy="100" r="50" fill="red" stroke="black" stroke-width="3" />
</svg>

在这里插入图片描述

在这个示例中,我们创建了一个 200x200 的SVG画布,并在其中绘制了一个圆形。圆心的坐标是 (100, 100),半径是 50。圆形被填充为红色,描边为黑色,描边宽度为 3。

3 ellipse 椭圆形

在SVG中,<ellipse> 元素用于绘制椭圆,椭圆是高度和宽度不相等的圆,换句话说,它在 x 和 y 方向上的半径是不同的。

(1)基本语法

<ellipse
  cx="圆心x坐标"
  cy="圆心y坐标"
  rx="横向半径"
  ry="纵向半径"
  fill="可选:填充颜色"
  stroke="可选:描边颜色"
  stroke-width="可选:描边宽度"
  ... />
  1. cx, cy :这两个属性定义了椭圆的圆心的 x 和 y 坐标。它们决定了椭圆在 SVG 画布上的位置。

  2. rx, ry :这两个属性分别定义了椭圆的横向半径和纵向半径。rx 是椭圆在x轴方向上的半径,ry 是椭圆在 y 轴方向上的半径。它们共同决定了椭圆的大小和形状。如果 rx 和 ry 的值相同,则绘制的图形是一个圆。

  3. fill :这个属性用于设置椭圆的填充颜色。如果不设置,椭圆将默认为透明。

  4. stroke :这个属性用于设置椭圆的描边颜色。如果不设置,椭圆将没有描边。

  5. stroke-width :这个属性用于设置椭圆的描边宽度。如果设置了描边颜色但没有设置描边宽度,那么描边的默认宽度通常为1。

(2)示例

<svg width="200" height="200">
  <ellipse cx="100" cy="100" rx="50" ry="30" fill="blue" stroke="black" stroke-width="2" />
</svg>

在这里插入图片描述

在这个示例中,我们创建了一个 200x200 的SVG画布,并在其中绘制了一个椭圆。椭圆的圆心坐标是 (100, 100),横向半径是 50,纵向半径是 30。椭圆被填充为蓝色,描边为黑色,描边宽度为 2。

4 line 线条

在SVG中,<line> 元素用于创建线段。线段是最基本的图形元素之一,由两个端点确定其位置和长度。

(1)基本语法

<line
  x1="起点x坐标"
  y1="起点y坐标"
  x2="终点x坐标"
  y2="终点y坐标"
  stroke="可选:描边颜色"
  stroke-width="可选:描边宽度"
  ... />
  1. x1, y1 :这两个属性定义了线段的起始点的 x 和 y 坐标。它们是创建线段所必需的基本属性。

  2. x2, y2 :这两个属性定义了线段的终点的 x 和 y 坐标。与 x1 和 y1 一起,它们共同确定了线段的长度和方向。

  3. stroke :这个属性用于设置线段的描边颜色。如果不设置,线段将没有可见的描边。

  4. stroke-width :这个属性用于设置线段的描边宽度。描边宽度决定了线段边缘的粗细程度。如果设置了描边颜色但没有设置描边宽度,那么描边的默认宽度通常为 1。

(2)示例

<svg width="200" height="200">
  <line x1="50" y1="50" x2="150" y2="150" stroke="black" stroke-width="2" />
</svg>

在这里插入图片描述

在这个示例中,我们创建了一个200x200的SVG画布,并在其中绘制了一条线段。线段的起始点坐标是(50, 50),终点坐标是(150, 150)。线段被描边为黑色,描边宽度为2。

5 polygon 多边形

在SVG中,<polygon> 元素用于创建多边形,多边形是由一系列直线段首尾相接形成的闭合图形。

(1)基本语法

<polygon
  points="x1,y1 x2,y2 x3,y3 ... xn,yn"
  fill="可选:填充颜色"
  stroke="可选:描边颜色"
  stroke-width="可选:描边宽度"
  ... />

在这里插入图片描述

  1. points :这个属性定义了多边形每个顶点的坐标。每个顶点的坐标由 x 和 y 值组成,并且多个顶点坐标之间用空格分隔。例如,points=“0,0 100,0 100,100 0,100” 定义了一个矩形。

  2. fill :这个属性用于设置多边形的填充颜色。如果不设置,多边形将默认为透明。

  3. stroke :这个属性用于设置多边形的描边颜色。如果不设置,多边形将没有描边。

  4. stroke-width :这个属性用于设置多边形的描边宽度。描边宽度决定了多边形边缘的粗细程度。如果设置了描边颜色但没有设置描边宽度,那么描边的默认宽度通常为 1。

(2)示例

<svg width="200" height="200">
  <polygon points="50,50 150,50 150,150 50,150" fill="blue" stroke="black" stroke-width="2" />
</svg>

在这个示例中,我们创建了一个200x200的 SVG 画布,并在其中绘制了一个四边形(矩形)。多边形的顶点坐标分别是(50,50)、(150,50)、(150,150)和(50,150),形成了一个闭合的四边形。多边形被填充为蓝色,描边为黑色,描边宽度为 2。

6 path 路径

SVG的 <path> 元素是 SVG 中最强大且最灵活的形状元素之一。它允许你使用一系列的命令来绘制复杂的路径,包括直线、曲线以及它们的组合。

(1)基本语法

<path
  d="绘制命令+参数"
  fill="可选:填充颜色"
  stroke="可选:描边颜色"
  stroke-width="可选:描边宽度"
  ... />

d 属性是 <path> 元素的核心,它包含了绘制路径所需的命令和参数。这些命令可以是移动到一个点(M/m)、绘制直线(L/l)、绘制水平线或垂直线(H/h 和 V/v)、绘制曲线(A/a、Q/q、T/t、C/c、S/s)等。每个命令后面跟着相应的参数,这些参数定义了路径的形状。

示例命令:

  • M/m :移动到指定坐标。大写 M 表示绝对位置,小写 m 表示相对位置。
  • L/l :从当前位置绘制直线到指定坐标。大写 L 表示绝对坐标,小写 l 表示相对坐标。
  • H/h :绘制水平线到指定 x 坐标。
  • V/v :绘制垂直线到指定 y 坐标。
  • A/a :绘制椭圆弧。大写 A 使用绝对坐标,小写 a 使用相对坐标。
  • Q/q :绘制二次贝塞尔曲线。
  • T/t :通过平滑控制点绘制二次贝塞尔曲线。
  • C/c :绘制三次贝塞尔曲线。
  • S/s :通过平滑控制点绘制三次贝塞尔曲线。
  • Z/z :闭合路径,使路径的起点和终点相连。

(2)示例

<svg width="200" height="200">
  <path d="M 50 50 L 150 50 L 150 150 L 50 150 Z" fill="none" stroke="black" stroke-width="2" />
</svg>

在这里插入图片描述

在这个示例中,我们创建了一个正方形路径。命令 M 50 50 将起始点移动到 (50, 50),然后 L 150 50 绘制一条直线到 (150, 50),接着 L 150 150 到 (150, 150),最后 L 50 150 到 (50, 150),Z 命令闭合路径,形成一个完整的正方形。路径没有填充(fill=“none”),描边为黑色(stroke=“black”),描边宽度为 2(stroke-width=“2”)。

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

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

相关文章

.net框架和c#程序设计第二次测试

一、实验内容 1、设计一个用户登录页面webform1.aspx&#xff0c;效果如下图所示&#xff1a; 2、点击webform1.aspx中“还未注册”连接进入register.aspx&#xff0c;注册页面效果如下图所示&#xff1a;点击用户注册信息到usershow.aspx页面&#xff0c;并显示注册的用户信息…

蓝牙学习十(扫描)

一、简介 从之前的文章中我们知道&#xff0c;蓝牙GAP层定义了四种角色&#xff0c;广播者&#xff08;Broadcaster&#xff09;、观察者&#xff08;Observer&#xff09;、外围设备&#xff08;Peripheral&#xff09;、中央设备&#xff08;Central&#xff09;。 之前的学习…

什么是LPO?

近年来&#xff0c;光通信产业的发展势头很猛。 在5G、宽带中国、东数西算等国家战略的持续刺激下&#xff0c;国内光通信技术取得了巨大突破&#xff0c;光基础设施也有了质的飞跃。 特别是今年&#xff0c;AIGC大模型爆火&#xff0c;智算和超算崛起&#xff0c;更是带动了…

VueDraggablePlus 支持 Vue2 和 Vue3 的拖拽组件

官网&#xff1a;https://alfred-skyblue.github.io/vue-draggable-plus/

Day 34:贪心 LeedCode 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果

1005. K 次取反后最大化的数组和 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后&#xff0c;返回数组 可…

rac数据库默认网关不通导致集群异常

集群CSSD进程reconfiguration完成&#xff0c;显示2个节点都在线。但ora.net1.network服务启动失败&#xff0c;且有依赖关系的资源随后启动失败并且已经达到上限。 查看两个节点的网络信息&#xff0c;发现两个节点的默认网关是不一致的。 修改故障节点网关 在RAC中&#xff0…

图表分析网页模版大数据可视化大屏电子沙盘合集

图表分析网页模版 大数据可视化大屏电子沙盘合集&#xff0c;项目基于html/css/js&#xff0c;包含行业&#xff1a; 智慧政务 智慧社区 金融行业 智慧交通 智慧门店 智慧大厅 智慧物流 智慧医疗 通用模板 大数据分析平台 项目包含功能 (部分)&am…

MongoDB快照(LVM)业务场景应用实战

MongoDB和LVM快照概述 MongoDB的重要性&#xff1a;MongoDB支持的灵活的文档模型&#xff0c;使其成为处理大量分散数据的理想选择&#xff0c;特别是在需要快速迭代和频繁更改数据结构的应用中。 LVM&#xff08;逻辑卷管理&#xff09;快照技术基本概念&#xff1a;LVM允许…

基于springboot+vue+Mysql的滴答拍摄影项目

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

vue3前端加载动画 lottie-web 的简单使用案例

什么是 Lottie Lottie 是 Airbnb 发布的一款开源动画库&#xff0c;它适用于 Android、iOS、Web 和 Windows 的库。 它提供了一套从设计师使用 AE&#xff08;Adobe After Effects&#xff09;到各端开发者实现动画的工具流。 UED 提供动画 json 文件即可&#xff0c; 开发者就…

Disk Drill Enterprise for Mac v5.5.1515数据恢复软件中文版

Disk Drill 是 Mac 操作系统固有的Mac数据恢复软件&#xff1a;使用 Recovery Vault 轻松保护文件免遭意外删除&#xff0c;并从 Mac 磁盘恢复丢失的数据。支持大多数存储设备&#xff0c;文件类型和文件系统。 软件下载&#xff1a;Disk Drill Enterprise for Mac v5.5.1515激…

Ubuntu 20.04.06 PCL C++学习记录(二十)

[TOC]PCL中点云分割模块的学习 学习背景 参考书籍&#xff1a;《点云库PCL从入门到精通》以及官方代码PCL官方代码链接,&#xff0c;PCL版本为1.10.0&#xff0c;CMake版本为3.16 学习内容 基于颜色的区域增长细分 源代码及所用函数 源代码 #include<iostream> #i…

【算法】第二篇 大衍数列

导航 1. 简介2. 数列特征3. 代码演示1. 简介 大衍数列,来源于《乾坤谱》中对易传“大衍之数五十”的推论。主要用于解释中国传统文化中的太极衍生原理。数列中的每一项,都代表太极衍生过程中,曾经经历过的两仪数量总和。是中华传统文化中隐藏着的世界数学史上第一道数列题。…

大厂高频面试题复习JAVA学习笔记-学习路线

对于应届生&#xff0c;要找到一份java工作&#xff0c;你得大概学会&#xff1a; java基础&#xff1a;javase、jvm、juc、gc、mysql、jdbc&#xff0c;计网计组 Java微服务基础Maven→Gradle→Spring6→SpringMVC→MyBatis→MyBatisPlus→SSM->Redis7->SpringBoot2-&…

云计算与大数据课程笔记(八)之虚拟化技术(上)

本文所有图片来自于刘鹏《云计算》系列PPT。 虚拟化技术 虚拟化技术是一种资源管理技术&#xff0c;它通过抽象硬件的物理特性&#xff0c;使用户可以在单个物理硬件上运行多个虚拟实例&#xff0c;如操作系统、存储设备或网络资源。虚拟化可以提高资源利用率、降低成本、增加…

DP练习_P1002 [NOIP2002 普及组] 过河卒_python_蓝桥杯

P1002 [NOIP2002 普及组] 过河卒 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 1.DFS做超时40分 n, m, x, y map(int,input().split())flag [[0]*(n10) for _ in range(m10)] maps [[0]*(n10) for _ in range(m10)] d [[2,1],[2,-1],[-2,1],[-2,-1],[1,2],[1,-2],[-1,2]…

如何实现小程序滑动删除组件+全选批量删除组件

如何实现小程序滑动删除组件全选批量删除组件 一、简介 如何实现小程序滑动删除组件全选批量删除组件 采用 uni-app 实现&#xff0c;可以适用微信小程序、其他各种小程序以及 APP、Web等多个平台 具体实现步骤如下&#xff1a; 下载开发者工具 HbuilderX进入 【Dcloud 插…

【利器篇】前端40+精选VSCode插件,总有几个你未拥有!

前言 姊妹篇&#xff1a; 【利器篇】35精选chrome插件&#xff0c;含15前端插件&#xff0c;总有一款值得你停留 关于关于 【前端工具系列】&#xff1a; 有句话&#xff0c;事半功倍&#xff0c;其必然是借助了某些思想和工具。 VSCode是我们前端开发的武器&#xff0c;本文…

[工具使用]绕过付费-适用于谷歌/火狐/Edge浏览器

绕过付费-适用于谷歌/火狐/Edge浏览器 bypass-paywalls是一款浏览器插件&#xff0c;可以帮助绕过选定网站的付费 链接&#xff1a;https://github.com/iamadamdev/bypass-paywalls-chrome 一、谷歌/Edge浏览器安装说明&#xff08;支持自定义网站&#xff09; 1、从Github下…

用动态IP采集数据总是掉线是为什么?该怎么解决?

动态IP可以说是做爬虫、采集数据、搜集热门商品信息中必备的代理工具&#xff0c;但在爬虫的使用中&#xff0c;总是会遇到动态IP掉线的情况&#xff0c;从而影响使用效率&#xff0c;本文将探讨动态IP代理掉线的几种常见原因&#xff0c;并提供解决方法&#xff0c;以帮助大家…