2009-12-17 40 views
6

我需要能夠繪製SVG圖像(可以縮放和旋轉圖像90,180和270度)。我還希望能夠將圖像呈現爲位圖(例如用於顯示),以便能夠將它們繪製到新的SVG圖像中(將「文檔」導出到SVG)。在wxWidgets中繪製SVG圖像

wxWidgets似乎沒有任何內置的SVG功能,所以我不知道如何繼續添加這樣的功能。

+0

小記。瞭解SVG的侷限性。我曾經編寫過一個程序來創建一個大量反彈圖,其中有幾十個代理通過解析模擬日誌文件相互交談,發現在創建大型SVG文件時,SVG在Firefox和IE中速度非常慢。我改變了在QT畫布上繪製我的東西,它運行沒有問題。 (我意識到QT/wxWidgets沒有嵌入瀏覽器,所以這可能不適用於你的情況。) – 2009-12-17 14:20:36

+3

即時通訊編寫桌面應用程序,儘管你知道一種替代的矢量圖形格式,我可以在wxWidgets中使用並且有很好的支持在圖像編輯軟件im開放建議。 – 2009-12-17 15:01:41

+0

+1包含解釋* SVG *的鏈接。 – 2009-12-17 18:07:34

回答

0

您可以使用wxSVGFileDC(http://docs.wxwidgets.org/trunk/classwx_s_v_g_file_d_c.html)渲染成SVG格式的文件,但不支持繪製SVG圖像,您需要使用SVG渲染庫並將其與wx集成(如何做到這一點是基於平臺的,依賴)。

請注意,wxSVGFileDC在contrib中,即在wx 2.8中需要獨立構建的附加庫,但在2.9中的主庫本身中。

0

我不確定這個解決方案有多實用,但有一個想法可能是將wxWebKit嵌入到您的應用程序中,然後依靠WebKit's SVG support爲您進行渲染。

4

cairo library website在使用librsvg繪製SVG時有examples

無論是開羅的librsvg庫應具有足夠的跨平臺做你需要什麼,並與wxcairo應該可以將它們停靠在的wxWidgets

這是我在研究將SVG繪製成wxWidgets時的第一個想法。

此外,繪圖SVG文件與開羅是很容易的,當你在做所有的繪圖與開羅反正,和繪圖模型開羅採用的是神似SVG。