有时候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"是有宽度的,所以描点的时候要注意把宽度考虑进去.这里只是展示了最简单的画线,还有很多其他的绘制读者可以自行去了解.