博客
关于我
SVG基础知识速查笔记
阅读量:277 次
发布时间:2019-03-01

本文共 1626 字,大约阅读时间需要 5 分钟。

SVG(可缩放矢量图形)简介

SVG(Scalable Vector Graphics),即可缩放矢量图形,是一种用于描述二维矢量图形的图形格式。它采用XML格式定义图形,支持跨平台显示,广泛应用于网页设计、图表生成以及移动应用开发等领域。

SVG的优点

  • 文件体积小:相比位图格式,SVG文件体积通常更小,尤其是在高分辨率图像中。
  • 无锯齿:矢量图形在缩放、旋转或绘制时不会失真。
  • 灵活性:支持多种图形元素和样式属性,满足多样化的设计需求。
  • SVG图形元素

    SVG主要包括以下图形元素:

  • 矩形(<rect>:定义矩形,支持圆角矩形。
  • 圆形(<circle>:定义圆形,圆心和半径决定图形。
  • 椭圆(<ellipse>:定义椭圆,圆心、水平半径和垂直半径决定图形。
  • 线段(<line>:定义直线段,起点和终点坐标决定图形。
  • 折线和多边形(<polyline>:通过点坐标定义折线或多边形。
  • 路径(<path>:最灵活的图形元素,可用于绘制复杂图形。
  • 矩形

    矩形是SVG中最基础的图形元素,具有以下属性:

    • x:左上角横坐标
    • y:左上角纵坐标
    • width:宽度
    • height:高度
    • rx:圆角矩形的X轴半径
    • ry:圆角矩形的Y轴半径

    示例代码:

    圆形与椭圆形

    • 圆形:由圆心坐标(cxcy)和半径(r)决定。
    • 椭圆:由圆心坐标、水平半径(rx)和垂直半径(ry)决定。

    示例代码:

    线段

    线段由起点和终点坐标决定。

    示例代码:

    多边形与折线

    多边形和折线均通过多个点坐标定义图形,主要区别在于是否连接起点和终点。

    示例代码:

    路径

    路径(<path>)是最灵活的图形元素,支持多种绘图命令。

    示例命令

    • M:移动到指定坐标
    • L:画直线到指定坐标
    • C:画三次贝塞尔曲线
    • S:画简化的三次贝塞尔曲线
    • Q:画二次贝塞尔曲线
    • T:画简化的二次贝塞尔曲线
    • A:画椭圆曲线
    • Z:闭合路径

    示例代码:

    文字

    在SVG中使用<text>标签绘制文字,支持多种样式属性。

    示例代码:

    I Love
    D3

    样式

    SVG支持丰富的样式属性,如填充色、边框颜色、透明度等,样式可直接在元素中定义或使用类名。

    常见样式属性

    • fill:填充色
    • stroke:边框颜色
    • stroke-width:边框宽度
    • opacity:透明度
    • font-family:字体
    • font-size:字体大小
    • font-weight:字体粗细
    • font-style:字体样式
    • text-decoration:文字装饰

    标记

    标记(<marker>)用于定义可重复使用的图形元素,如箭头。

    示例代码:

    滤镜

    滤镜(<filter>)用于定义图形效果,如模糊、阴影等。

    示例代码:

    渐变

    SVG支持线性渐变(<linearGradient>)和放射性渐变(<radialGradient>)。

    示例代码:

    通过以上内容,用户可以根据需要选择和使用SVG的相关功能,轻松创建高质量的矢量图形。

    转载地址:http://aegx.baihongyu.com/

    你可能感兴趣的文章
    P3950部落冲突
    查看>>
    P4313 文理分科
    查看>>
    SpringBoot中集成LiteFlow(轻量、快速、稳定可编排的组件式规则引擎)实现复杂业务解耦、动态编排、高可扩展
    查看>>
    SpringBoot中集成influxdb-java实现连接并操作Windows上安装配置的influxDB(时序数据库)
    查看>>
    P8738 [蓝桥杯 2020 国 C] 天干地支
    查看>>
    Package Header Cursor
    查看>>
    package,source folder,folder相互转换
    查看>>
    SpringBoot中集成Flyway实现数据库sql版本管理入门以及遇到的那些坑
    查看>>
    package.json文件常用指令说明
    查看>>
    SpringBoot中集成eclipse.paho.client.mqttv3实现mqtt客户端并支持断线重连、线程池高并发改造、存储入库mqsql和redis示例业务流程,附资源下载
    查看>>
    Padding
    查看>>
    paddlehub安装及对口罩检测
    查看>>
    SpringBoot中集成Actuator实现监控系统运行状态
    查看>>
    PaddleSlim 模型量化 源代码解读
    查看>>
    paddle的两阶段基础算法基础
    查看>>
    Page Object模式:为什么它是Web自动化测试的必备工具
    查看>>
    SpringBoot中重写addCorsMapping解决跨域以及提示list them explicitly or consider using “allowedOriginPatterns“ in
    查看>>
    PageHelper 解析及实现原理
    查看>>
    pageHelper分页工具的使用
    查看>>
    pageHelper分页技术
    查看>>