手写SVG图片

有时候QT中可能会需要一些简单的SVG图片,但是网上的质量参差不齐,想要满意的SVG图片,我们可以尝试直接手写的方法.

新建文本文档,将以下代码复制进去,修改后缀名为.svg,保存

cpp 复制代码
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" height="128" width="128" viewBox="0 0 158 158">
  <g>
    <path id="path1" transform="rotate(0,64,64) translate(1.6,1.6) scale(3.9,3.9)" fill="#000000" d="M0,2L2,0 17,15 32,0 34,2 19,17 34,32 32,34 17,19 2,34 0,32 15,17z" />
  </g>
</svg>

效果是这样,我们通过类似写代码的方式得到了一个"X"的SVG图片:

如果我们想要修改颜色,就可以修改这里fill="#000000" ,换成你想要的颜色

想要花其他的图形,可以修改这里d="M0,2L2,0 17,15 32,0 34,2 19,17 34,32 32,34 17,19 2,34 0,32 15,17z

这个意思其实是确定一些点,让系统沿着这些点画线(L指画线),这段的意思是沿着(0,2)、(2,0)、(17,15)、(32,0)、(34,2)、(19,17)、(34,32)、(32,34)、(17,19)、(2,34)、(0,32)、(15,17)这些点,用颜色黑色fill="#000000来填充闭合的路径,因为这个"X"是有宽度的,所以描点的时候要注意把宽度考虑进去.这里只是展示了最简单的画线,还有很多其他的绘制读者可以自行去了解.

相关推荐
Felix_One2 天前
Qt 串口通信避坑指南:QSerialPort 的 5 个常见问题
qt
blasit5 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
修炼前端秘籍的小帅10 天前
Stitch——Google热门的免费AI UI设计工具
前端·人工智能·ui
王码码203510 天前
Flutter for OpenHarmony:socket_io_client 实时通信的事实标准(Node.js 后端的最佳拍档) 深度解析与鸿蒙适配指南
android·flutter·ui·华为·node.js·harmonyos
范特西.i10 天前
QT聊天项目(8)
开发语言·qt
枫叶丹410 天前
【Qt开发】Qt界面优化(七)-> Qt样式表(QSS) 样式属性
c语言·开发语言·c++·qt
2501_9219308310 天前
Flutter for OpenHarmony:第三方库实战 chewie 视频播放器UI组件详解
flutter·ui
十五年专注C++开发10 天前
Qt deleteLater作用及源码分析
开发语言·c++·qt·qobject
kangzerun10 天前
SQLiteManager:一个优雅的Qt SQLite数据库操作类
数据库·qt·sqlite
金刚狼8810 天前
qt和qt creator的下载安装
开发语言·qt