我有具有以下属性的svg图像:viewBox="0 0 100 100"
这是我用来显示svg:的基本代码
Image{
width: 50
height: 50
source: "test.svg"
}
这是不好的,因为图像在调整到宽度和高度值(50,50)之前是光栅化的。
此代码适用于所有分辨率:
Image{
width: 50
height: 50
sourceSize.width: width
sourceSize.height: height
source: "test.svg"
}
因为图像是以所需的精确尺寸绘制的!
是否可以在使用<img>
标记的TextEdit中获得相同的功能?
<img src="test.svg" width="50" height="50">
此代码不起作用,因为无法设置sourceSize。。。并且在调整大小和显示之前对图像进行光栅化。。。
也许还有其他方法可以做到这一点?
唯一的解决方案是将图像大小作为图像url的一部分提供,并在派生类中重新实现QTextDocument::loadResource
或QTextEdit::loadResource
。然后,您的图像元素将看起来像:
<img src="test.svg?50x50" width="50" height="50" />
您可以在loadResource
的实现中解析url。