有人可以提供如何加載.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. 在Illustrator中搞砸了SVG文件CC
- 3. 如何在Omnet ++ INET的示例中找到該工具的.cc文件
- 4. 關於生成svg圖表的示例
- 5. 在Leaflet彈出窗口中尋找SVG圖形的示例
- 6. 什麼是「var cc = cc = cc || {};」在Cocos2D中做什麼?
- 7. 在IE8中顯示SVG
- 8. svg不顯示在Firefox中
- 9. 在Flex 4中顯示SVG
- 10. SVG - 示例|電纜與物理(重力)
- 11. 將html5畫布示例轉換爲svg
- 12. 在(熱門)網站上使用的SVG的任何示例?
- 13. 顯示D3 SVG在提示框中
- 14. SVG中路徑與多邊形繪製的多邊形示例
- 15. SVG在img元素的比例在IE9
- 16. SVG蠑螈的例子?
- 17. 用於在SWT項目中嵌入SVG畫布的示例代碼?
- 18. SVG在IE9中不顯示iframe內部
- 19. 無法在angengine中顯示SVG
- 20. 在svg中顯示fontawesome圖標
- 21. 在Chrome中未顯示SVG徽標
- 22. svg不會在Firefox中顯示
- 23. SVG/PNG未顯示在Firefox中
- 24. 如何在SVG文檔中顯示HTML?
- 25. SVG不會顯示在html中
- 26. Matplotlib:點不顯示在SVG中
- 27. 在IE8中顯示內聯SVG
- 28. 在Android中顯示SVG文件
- 29. Svg圖像不顯示在Firefox中
- 30. SVG沒有顯示在IE 11中