Autor Beitrag
Hucki1993
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 09.12.10 21:58 
Hallo, ich möchte in meinem Prgramm gerne mehrere Ellpsen zeichnen.
Gibt es eine Möglichkeit die Koordinaten für diese zuvor festzulegen und dann abzurufen?
Also z.B.:

_Ellipse = Pinselfarbe, x, y, _x, _y;

g1.FillEllipse(_Ellipse);

Danke!!!
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 09.12.10 22:31 
Fertig? Nein.
Aber du könntest einfach eine Ellipse Klasse erzeugen mit den von dir benötigten Daten um dann eine von dir geschriebene Extension Method(mit Namen FillEllipse) am Graphics Object mit dieser Klasse aufzurufen.


Beispiel:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
public static class ExtensionMethods
{
    public static void FillEllipse(this Graphics graphics, Ellipse ellipse)
    {
        Rectangle rect = new Rectangle(ellipse.X, ellipse.Y, ellipse._X, ellipse._Y);
        using (Brush brush = new SolidBrush(ellipse.Color))
        {
            graphics.FillEllipse(brush, rect);
        }
    }
}

public class Ellipse
{
    public Color Color { get; set; }
    public int X { get; set; }
    public int Y { get; set; }
    public int _X { get; set; }
    public int _Y { get; set; }
}

// Aufruf dann wie gewünscht z.B. 
private void meineLiebeForm_Paint(object sender, PaintEventArgs e)
{
    Ellipse ellipse = new Ellipse() { Color = Color.Red, X = 100, Y = 100, _Y = 100, _X = 100 }; ;
    e.Graphics.FillEllipse(ellipse);
}

Für diesen Beitrag haben gedankt: Hucki1993