GDI 和 GDI+ 中的多边形填充模式;
当前设备上下文中的系统默认多边形填充模式是 ALTERNATE
(正如我从 Petzold 有关 Windows 编程的书籍中了解到的那样),并且该模式用于 Polygon
Win32 函数,除非您使用 SetPolyFillMode
。
我的问题是:
GDI+ 是否 Graphics::FillPolygon
(其签名中没有 FillMode
参数)方法还使用当前设备上下文填充模式或设置众所周知的默认值,然后设置回调用之前设置的模式?
谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不知道答案,但您可以尝试通过检索调用前后的填充模式来找出答案。 如果没有不同,则要么未更改,要么更改后又改回来。
I don't know the answer off the top of my head, but you could try finding out by retrieving the fill mode before and after the call. If it's not different, it's either not been changed, or was changed then changed back.
我查看了参考源,没有填充模式的 FillPolygon 只是调用具有替代填充模式的 FillPolygon。
具有填充模式的 FillPolygone 调用名为 GdipFillPolygonI 的方法,但我找不到有关该方法的任何信息。
I looked at the reference source and FillPolygon without a fill mode simply calls FillPolygon with a fill mode of alternate.
FillPolygone with a fill mode calls a method named GdipFillPolygonI, but I can't find anything about that method.