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

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值