有人可以提供如何加载.svg文件并使用C/C++和任何库进行显示的示例?我想知道您是否会使用SDL,开罗或什么。在C/C++中的svg示例
2
A
回答
2
由于帕维尔说,QtSvg是我相信的方式。这很容易使用,但在我们的团队中,我们遇到了与QtSvg相关的性能问题,特别是在Linux上。所以我们决定直接解析SVG文件XML并使用Qt本身进行渲染。事实证明这要快得多。
伪代码: -
// Read the SVG file using XML parser (SAX)
void SvgReader::readFile()
{
QFile file(<some svg filename>);
if (!file.open(QFile::ReadOnly | QFile::Text)) {
qWarning("Cannot open file");
return;
}
QString localName;
QXmlStreamAttributes attributes;
pXml = new QXmlStreamReader(&file);
pXml->setNamespaceProcessing(false);
while (!pXml->atEnd()) {
switch (pXml->readNext()) {
case QXmlStreamReader::StartElement:
localName = pXml->name().toString();
if (localName.compare(<some element path>) == 0) {
attributes = pXml->attributes();
QStringRef data = attributes.value(<some attribute name>);
// parse/use your data;
}
// similarly other case statements
}
}
}
3
1
QtSvg模块可能会有帮助。
1
,你可以尝试boost.svg_plot
相关问题
- 1. Adode CC createjs代码示例
- 2. 关于生成svg图表的示例
- 3. 什么是“var cc = cc = cc || {};”在Cocos2D中做什么?
- 4. 在Flex 4中显示SVG
- 5. 将html5画布示例转换为svg
- 6. 在(热门)网站上使用的SVG的任何示例?
- 7. SVG在img元素的比例在IE9
- 8. SVG蝾螈的例子?
- 9. 用于在SWT项目中嵌入SVG画布的示例代码?
- 10. 在svg中显示fontawesome图标
- 11. svg不会在Firefox中显示
- 12. SVG/PNG未显示在Firefox中
- 13. 在Android中显示SVG文件
- 14. Matplotlib:点不显示在SVG中
- 15. UIWebView在SVG中不显示图像
- 16. 在cfm问题中显示.svg图像
- 17. 在vb.net中显示svg文件
- 18. SVG不会显示在html中
- 19. 如何显示mp4然后暂停并在Flash中重播CC
- 20. Adobe Animate中的AS3 CC
- 21. Scala中的“call-cc”模式?
- 22. SVG在页面中使用时,不会显示SVG中的图像元素。
- 23. SVG显示
- 24. PHP在C++中的示例
- 25. 使用骨干渲染d3 SVG的基本示例查看
- 26. 显示SVG代码而不是SVG图形的SVG对象?
- 27. iPhone不显示使用Adobe Animate CC
- 28. YouTube Iframe标记不再显示CC
- 29. iOS中的MVVM示例/示例实现
- 30. 在SVG或Java中估算比例字体的像素