13.12 , ponavljanje: Crtanje KRUŽNOG LUKA
Prvi način kako da se nacrta kružni luk:
DrawArc(Pen, Rectangle, Single, Single)
Crta luk koji predstavlja deo elipse specificiran strukturom pravougaonika.
public void DrawArc (System.Drawing.Pen pen, System.Drawing.Rectangle rect, float startAngle, float sweepAngle)
Parametri:
pen Pen - Olovka koja određuje boju, širinu i stil luka.
rect Rectangle - Rectangle struktura koja definiše granice elipse.
startAngle Single - Ugao u stepenima meren u smeru kazaljke na satu od x-ose do početne tačke luka.
Primer:
Sledeći primer koda je dizajniran za upotrebu sa Windovs Formama i zahteva PaintEventArgs e, što je parametar Event Handler-a Paint. Kod obavlja sledeće radnje:
- Pravi crnu olovku
- Pravi pravougaonik da poveže elipsu.
- Definiše uglove početka (45 stepeni) i skretanja (270 stepeni).
- Crta eliptični luk na ekran.
Rezultat je delimična elipsa kojoj nedostaje segment između + i - 45 stepeni x ose.
private void DrawArcRectangle(PaintEventArgs e)
{
// Create pen.
Pen blackPen= new Pen(Color.Black, 3);
// Create rectangle to bound ellipse.
Rectangle rect = new Rectangle(0, 0, 100, 200);
// Create start and sweep angles on ellipse.
float startAngle = 45.0F;
float sweepAngle = 270.0F;
// Draw arc to screen.
e.Graphics.DrawArc(blackPen, rect, startAngle, sweepAngle);
}
Napomena: Ova metoda crta luk koji je deo perimetra elipse. Elipsa je definisana granicama pravougaonika. Luk je deo perimetra elipse između parametra startAngle i parametara startAngle + sweepAngle.
Varijante koje se mogu koristiti:
DrawArc(Pen, Rectangle, Single, Single)
Crta luk koji predstavlja deo elipse specificiran strukturom Rectangle.
public void DrawArc (System.Drawing.Pen pen, System.Drawing.Rectangle rect, float startAngle, float sweepAngle);
DrawArc(Pen, RectangleF, Single, Single)
Crta luk koji predstavlja deo elipse specificiran strukturom RectangleF.
public void DrawArc (System.Drawing.Pen pen, System.Drawing.RectangleF rect, float startAngle, float sweepAngle);
DrawArc(Pen, Int32, Int32, Int32, Int32, Int32, Int32)
Crta luk koji predstavlja deo elipse specificiran parom koordinata, širinom i visinom.
public void DrawArc (System.Drawing.Pen pen, int x, int y, int width, int height, int startAngle, int sweepAngle);
DrawArc(Pen, Single, Single, Single, Single, Single, Single)
Crta luk koji predstavlja deo elipse specificiran parom koordinata, širinom i visinom.
public void DrawArc (System.Drawing.Pen pen, float x, float y, float width, float height, float startAngle, float sweepAngle);
VEŽBA:
Kreirati na formi Panel u kojem se crta ovaj kružni luk.
izvor:
https://docs.microsoft.com/en-us/dotnet/api/system.drawing.graphics.drawarc?view=dotnet-plat-ext-6.0