none
Petit problème avec un cercle (drawEllipse) ? RRS feed

  • Question

  • Bonjour,

    J'ai quelques problèmes avec la méthode drawellipse et le cercle, mes questions suivront, voici pour l'exemple de ce que j'ai fait :

      Sub form4_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        Dim c As New System.Drawing.Pen(System.Drawing.Color.Red)
        'Dim c As New System.Drawing.Pen(RGB(0, 0, 0))
        'Dim c As New System.Drawing.Pen(QBColor(0))
        Dim formGraphics As System.Drawing.Graphics
        Dim x As Long
        Dim y As Long
        Dim l As Long
        Dim h As Long
        '
        formGraphics = Me.CreateGraphics()
        x = 10
        y = 10
        l = 540
        h = l
        '
        formGraphics.DrawEllipse(c, New Rectangle(x, y, l, h))
        'formGraphics.DrawEllipse(RGB(0, 0, 0), New Rectangle(x, y, l, h))
    ' c.Dispose() formGraphics.Dispose() End Sub


    Questions :

    -1- Je peux faire comment pour lui passer une couleur RGB et QBcolor (une à la fois ;o) ?

    -2- Comment je trouve le centre de mon cercle moi, là-dedans (ox, et oy) ?

    Merci beaucoup, cordialement.




    Joe ___ Romans et Logiciels ___ http://irolog.free.fr
    mardi 19 janvier 2010 10:28

Réponses

  • Bonjour Joe,

    Si vous faites de cette manière : 

            Dim myPen As New Pen(Color.FromArgb(255, 0, 255))
            g.DrawLines(myPen, xy)
    Vous obtiendrez un cercle rose. Nous sommes d'accord que vous utilisez Pen pour dessiner votre cercle mais pas pour le remplir ?

    Cordialement,

    Mathieu


    Mathieu Francesch Sharplog Engineering
    • Marqué comme réponse EhJoe mardi 19 janvier 2010 20:22
    mardi 19 janvier 2010 13:55

Toutes les réponses

  • Bonjour,

    Pour la question 1 vous pouvez faire ceci :

            Dim c As New System.Drawing.Pen(Color.FromArgb(RGB(0, 0, 0)))

    Pour la question 2 dans la mesure où vous utilisez un rectangle le point (ox,oy) se trouve ((l/2)+ 10,(h/2) + 10)

    Cordialement,

    Mathieu
    Mathieu Francesch Sharplog Engineering
    • Proposé comme réponse Alex Petrescu mardi 19 janvier 2010 12:46
    mardi 19 janvier 2010 10:58
  • Merci Mathieu, je vais tenter d'appliquer le code à l'autre réponse, et pour le milieu, ben voui, que je suis bête, c'est évident !
    Joe ___ Romans et Logiciels ___ http://irolog.free.fr
    mardi 19 janvier 2010 12:50
  • Mathieu,

    Hélas, chat ne marche pas, c'est accepté mais ça décore (transparent ou blanc):

     

    Dim c As New System.Drawing.Pen(Color.FromArgb(RGB(255, 0, 255)))


    ???


    Cordialement.


    Joe ___ Romans et Logiciels ___ http://irolog.free.fr
    mardi 19 janvier 2010 13:05
  • Bonjour Joe,

    Si vous faites de cette manière : 

            Dim myPen As New Pen(Color.FromArgb(255, 0, 255))
            g.DrawLines(myPen, xy)
    Vous obtiendrez un cercle rose. Nous sommes d'accord que vous utilisez Pen pour dessiner votre cercle mais pas pour le remplir ?

    Cordialement,

    Mathieu


    Mathieu Francesch Sharplog Engineering
    • Marqué comme réponse EhJoe mardi 19 janvier 2010 20:22
    mardi 19 janvier 2010 13:55