Question

Quelles méthodes GDI puis-je utiliser pour dessiner la forme bleu montre l'image ci-dessous? Le centre doit être transparent.

text alt

Était-ce utile?

La solution

Il y a un certain nombre de façons, mais vous voudrez probablement utiliser les éléments suivants:

FillRectangle
FillPolygon
DrawLine

car il ressemble à votre forme peut être réduite à un rectangle et deux polygones, puis décrit par quelques lignes.

Voici un exemple très simple et codé en dur de ce que je pensais:

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

...

Autres conseils

Im en supposant namespace GDI + ici System.Drawing aka.

La meilleure chose à faire est de regarder classe System.Drawing.Drawing2d.GraphicsPath:

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

Vous devez vous assurer que vous fermez le chemin pour obtenir l'effet creux.

Ne serait-il pas plus facile de dessiner à l'aide d'un bitmap? C'est ce qu'ils sont de toute façon.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top