【SVG】

这篇博客介绍了SVG的基本用法,包括如何创建SVG文件、绘制直线、矩形、圆形、椭圆,以及利用多边形和文本元素。此外,还讲解了如何绘制路径,通过path命令实现更复杂的图形绘制,如直线、曲线和封闭路径。SVG是一种用于网页和应用程序的矢量图形格式,支持丰富的图形样式和动画效果。

使用svg

* 创建一个后缀为.svg的文件
* 基本格式 
* <svg xmlns="http://www.w3.org/2000/svg"></svg>  xmlns:svg命名空间

1.绘制一个直线

 <svg xmlns="http://www.w3.org/2000/svg" width="600" height="300">
    <line x1="30" y1="80"  
          x2="200" y2="80"
          stroke="#f00"
          stroke-width="5"/>
   </svg>
    //line常用属性: x1,y1:指定线起始坐标
   	//x2,y2:指定线结束坐标
   	//stroke:线颜色  相当于canvas中的strokeStyle
   //stroke-width:设置线粗细 相当于canvas中的lineWidth

2. 绘制一个矩形

  <svg xmlns="http://www.w3.org/2000/svg" width="600" height="300">
     <rect x="0" y="0" width="100%" height="100%" style='fill:red' />
  </svg>
  			rect常用属性说明:x,y左上角坐标 width,height:矩形的宽和高

3.绘制一个圆

<svg xmlns="http://www.w3.org/2000/svg" width="600" height="300">
    <circle cx="300" cy="150" r="100" style="fill:green" />
</svg>
circle常用属性:
 cx:圆心的x值
 cy:圆心的y值
 r:圆半径

4. 绘制一个椭圆

	<svg xmlns="http://www.w3.org/2000/svg" width="600" height="300">
		<ellipse cx="300" cy="150" rx="100" ry="50" style="fill:yellow"/>
   </svg>	

ellipse常用属性: cx:椭圆心的x值 cy:椭圆心的y值
rx:椭圆心x轴半径 ry:椭圆心y轴半径
注意:圆是特殊的椭圆,只需将rx,ry改成相同数值即可

5. 绘制多边形

<svg xmlns="http://www.w3.org/2000/svg" width="600" height="300">
   <polyline points="设置多个点的坐标集合" style=""/>
</svg>

格式2:
<svg xmlns="http://www.w3.org/2000/svg" width="600" height="300">
   <polygon points="设置多个点的坐标集合" style=""/>
</svg>
// polyline不会自动封装结束和起始点,而polygon自动封封闭起始和结束点的连线

6. 绘制文字

<svg xmlns="http://www.w3.org/2000/svg" width="600" height="300">
 <ellipse cx="300" cy="150" rx="100" ry="50" style="fill:yellow" />
 <text x="300"  y="150" style="fill:red;font-size:30px;" text-anchor="middle">
	我爱你
</text>
</svg>

7. 绘制路径

  • 使用path来绘制,可以绘制你想要的任何图形
  • 常用命令参数
  • 直线命令
    • m,M 相当于canvas中的moveTo
    • l,L 相当于canvas中的lineTo
    • v,V: 只绘制垂直线
    • h,H:只绘制水平线
  • 曲线命令
    • 三次贝赛尔曲线
    • c,C
    • s:是c的简写,可以快速绘制曲线,通常和c配合使用
    • 二次贝赛尔曲线 ----q t
    • 绘制弧线:a
    • z:自动从当前坐标点绘制一条连接到起始坐标的直线(自动封闭)
所有的命令字母大小写区别

大写字母代表绝对坐标,也就是说以svg画布的左上角当坐标原点(0,0)

小写字母代表相对坐标,总是以上一个点的坐标当坐标下一个点的坐标原点(0,0)
  • path绘制基本图形
    绘制直线和矩形
中文版,平时开发超实用工具。Java 2 Platform 软件包 java.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。 java.awt 包含用于创建用户界面和绘制图形图像的所有类。 java.awt.color 提供用于颜色空间的类。 java.awt.datatransfer 提供在应用程序之间和在应用程序内部传输数据的接口和类。 java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的各类事件的接口和类。 java.awt.font 提供与字体相关的类和接口。 java.awt.geom 提供用于在与二维几何形状相关的对象上定义和执行操作的 Java 2D 类。 java.awt.im 提供输入方法框架所需的类和接口。 java.awt.im.spi 提供启用可以与 Java 运行时环境一起使用的输入方法开发的接口。 java.awt.image 提供创建和修改图像的各种类。 java.awt.image.renderable 提供用于生成与呈现无关的图像的类和接口。 java.awt.print 为通用的打印 API 提供类和接口。 java.beans 包含与开发 beans 有关的类,即基于 JavaBeansTM 架构的组件。 java.beans.beancontext 提供与 bean 上下文有关的类和接口。 java.io 通过数据流、序列化和文件系统提供系统输入和输出。 java.lang 提供利用 Java 编程语言进行程序设计的基础类。 ......
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦瓜大大王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值