誰かが.svgファイルを読み込み、C/C++と任意のライブラリを使用して表示する方法の例を提供できますか?私はあなたがSDL、カイロ、または何を使用するかと思います。C/C++でのsvgの例
2
A
答えて
2
パベルが書いたように、QtSvgは私が信じる方法です。使い方は簡単ですが、私たちのチームでは特にLinux上でQtSvgのパフォーマンス上の問題に直面しています。そこで私たちは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. プログラムでccで取得します。この例では、インターフェイス定義
- 4. YouTubeのiframeタグでCC
- 5. GmailApp.sendEmail CC、CCが受信しない
- 6. アドビアニメイトCC
- 7. パスで描かれたポリゴンの例SVGのポリゴン
- 8. 複数のCCにCCを送信しますか?
- 9. SVGのリソースですか?良いフォーラム、ヘルプサイト、例?
- 10. cc-modeで鍵のバインド解除
- 11. $ {CC}はメイクファイルの意味ですか?
- 12. アニメーションのCreateJS JavasScriptフレームスクリプティングCC
- 13. InDesignのCCイメージキャプション番号バグ
- 14. Adobe AnimateのAS3 CC
- 15. CCスプライトの追加とアクセス
- 16. JavaScriptアニメーションCCアニメーションの制御
- 17. omp flushとcc-NUMAのアーキテクチャ
- 18. アドビアニメイトCCの2017 - 私は、オーディオ
- 19. Adobe Animate CCのHTMLフォーム
- 20. CCの検証(LuhnFormula)エラー
- 21. アニマルCC 2017のドラッグ&ドロップ
- 22. ccライセンス属性の実装
- 23. アドビアニメイトCCダイナミックテキストナルエラー
- 24. GNU CCとWindows
- 25. iPhone - CC Avenue
- 26. Python sendmail with Cc
- 27. は、CCアドレス
- 28. SVGの高さと幅のスケーリングが比例していない
- 29. SVGでのマスキング?
- 30. SVGファイルでSVGパスのコマンドと座標