質問

どのようなGDIの方法は、私は次の図に示す青色の図形を描画するために使用することができますか?センターは、透明でなければならない。

altテキスト

役に立ちましたか?

解決

があり、いくつかの方法ですが、あなたはおそらく次のように使用することをお勧めします。

FillRectangle
FillPolygon
DrawLine
それはあなたの形のように見えるので、

は長方形と2つのポリゴンに減少し、その後数行で概説することができます。

ここで私が考えていたかの本当に簡単とハードコーディングされた例です。

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))

...

他のヒント

Imは別名の名前空間をSystem.DrawingここでGDI +を想定します。

行うための最善のことはSystem.Drawing.Drawing2d.GraphicsPathクラスを調べることです。

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

あなたはあなたが中空の効果を得るために、パスを閉じるようにする必要があります。

う、それだけでビットマップを使用して、それを描画する方が簡単ではありませんか?それは彼らがとにかくのためにしているものです:。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top