用Direct2D繪製SVG (2)

Direct2d其實是可以直接Load和Draw SVG圖形的。


首先需要從renderTarger, QueryInterface 到 ID2D1DeviceContext5
再從ID2D1DeviceContext5, CreateSvgDocument獲得 ID2D1SvgDocument
(中間涉及到File到IStream,需通過HGLOBAL做橋)
最後ID2D1DeviceContext5直接DrawSvgDocument即可

然而問題還在:
1.大公司小小軟的這個內置的SVG功能,比nanosvg高不到哪裏,一樣,只能支持SVG v1.1,
因此繪製出來的效果一樣,僅僅是基本圖形的顯示而已。

2. 而且ViewPoint的功能甚至還不如nanosvg,無法直接獲取SVG文件的原始尺寸。鄙視MS

但Direct2D內置了n多的Effect效果,只要與SVG Filter做個轉接,
理論上有希望實現比較可觀的顯示效果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章