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做个转接,
理论上有希望实现比较可观的显示效果。