首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# GDI Drawing2D帮助

C# GDI Drawing2D帮助
EN

Stack Overflow用户
提问于 2010-03-31 05:02:31
回答 3查看 816关注 0票数 1

我可以使用哪些GDI方法来绘制下图中所示的蓝色形状?中心必须是透明的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-31 05:07:05

有许多方法,但您可能希望使用以下方法:

代码语言:javascript
复制
FillRectangle
FillPolygon
DrawLine

因为看起来你的形状可以简化为一个矩形和两个多边形,然后用几条线勾勒出轮廓。

下面是我所想的一个非常简单和硬编码的例子:

代码语言:javascript
复制
Private Sub Control_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) _
Handles MyBase.Paint
    Dim g As Graphics = e.Graphics

    g.FillRectangle(Brushes.Aqua, New Rectangle(10, 10, 10, 90))
    g.FillPolygon(Brushes.Aqua, New Point() { _
        New Point(10, 10), _
        New Point(20, 10), _
        New Point(40, 50), _
        New Point(30, 50)})
    g.FillPolygon(Brushes.Aqua, New Point() { _
        New Point(10, 100), _
        New Point(20, 100), _
        New Point(40, 50), _
        New Point(30, 50)})
    g.DrawLine(Pens.Black, New Point(10, 10), New Point(10, 100))
    g.DrawLine(Pens.Black, New Point(10, 100), New Point(20, 100))
    g.DrawLine(Pens.Black, New Point(20, 100), New Point(40, 50))
    g.DrawLine(Pens.Black, New Point(40, 50), New Point(20, 10))
    g.DrawLine(Pens.Black, New Point(20, 10), New Point(10, 10))

..。

票数 1
EN

Stack Overflow用户

发布于 2010-03-31 05:06:13

我假设这里是GDI+,也就是System.Drawing命名空间。

最好的方法是查看System.Drawing.Drawing2d.GraphicsPath类:

http://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.graphicspath.aspx

你需要确保关闭路径才能获得中空效果。

票数 0
EN

Stack Overflow用户

发布于 2010-03-31 05:32:21

使用位图绘制它不是更容易吗?无论如何,这就是它们的用途:)。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2548709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档