QT/SVG:将形状渲染设置为;“优化速度”;带QSvgGenerator
我想设置以下SVG标志:QT/SVG:将形状渲染设置为;“优化速度”;带QSvgGenerator,qt,svg,Qt,Svg,我想设置以下SVG标志: 如何使用QSvgGenerator实现这一点?我担心您无法使用QSvgGenerator本身设置该标志 但是您可以将SVG数据生成到缓冲区中,然后使用QDomDocument解析获得的数据,并为适当的元素设置标志 QBuffer data; QSvgGenerator generator; generator.setOutputDevice(&data); // ... generate SVG ... QDomDocument doc; doc.setCo
如何使用QSvgGenerator实现这一点?我担心您无法使用
QSvgGenerator
本身设置该标志
但是您可以将SVG数据生成到缓冲区中,然后使用QDomDocument
解析获得的数据,并为适当的元素设置标志
QBuffer data;
QSvgGenerator generator;
generator.setOutputDevice(&data);
// ... generate SVG ...
QDomDocument doc;
doc.setContent(data.buffer());
QDomNodeList elements = doc.elementsByTagName("svg");
// There should be just one 'svg' element.
assert(elements.count() == 1);
// Set the flag.
elements.at(0).toElement().setAttribute("shape-rendering", "optimizeSpeed");
// Obtain SVG data as a string.
QString svg = doc.toString();
第3行不应该是:generator.setOutputDevice(&data);?谢谢你的回答。
QBuffer data;
QSvgGenerator generator;
generator.setOutputDevice(&data);
// ... generate SVG ...
QDomDocument doc;
doc.setContent(data.buffer());
QDomNodeList elements = doc.elementsByTagName("svg");
// There should be just one 'svg' element.
assert(elements.count() == 1);
// Set the flag.
elements.at(0).toElement().setAttribute("shape-rendering", "optimizeSpeed");
// Obtain SVG data as a string.
QString svg = doc.toString();