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做個轉接,
理論上有希望實現比較可觀的顯示效果。