Hoofdstuk 6 - Les 1

De System.Drawing namespace maakt het mogelijk om afbeeldingen te bewerken of om nieuwe afbeeldingen te maken. Het graphics object is het meest gebruikte object. De Pen class wordt gebruikt om de lijnen en vormen te tekenen en de Brush classes die erven van de abstract Brush class worden gebruikt om de vormen te vullen. De PictureBox class kan gebruikt worden om de afbeeldingen te tonen.

Met Location (type Point) property van een control kan de locatie bepaalt worden. Ditzelfde geldt voor de properties Left en Top.

Met de properties ForeColor en BackColor kan de kleur van de control bepaalt worden. De properties zijn van het type Color, uit de namespace System.Drawing.Color.

De volgende stappen zijn nodig om een lijn te tekenen op een form of control:
  1. Maak een Graphics object aan door System.Windows.Forms.Controls.CreateGraphics aan te roepen.
  2. Maak een Pen object
  3. Roep een methode van de Graphics aan om te tekenen op het form of control

De Graphics class bevat vele methoden waarmee vormen kunnen worden getekend (DrawEllipse, DrawLine, DrawPie, DrawRectangle, DrawString en meer). Om een van deze methodes te gebruiken moet er een Pen object worden meegegeven.

//Maak een graphics object
Graphics g = this.CreateGraphics();

// Maak een rode Pen met een dikte van 7px
Pen p = new Pen(Color.red, 7);

// Teken een lijn
g.DrawLine(p, 1, 1, 100, 100);
Deze code tekent een rode lijn van 7px dik die begint lins boven en stopt op locatie 100, 100 (x en y as).

De methode DrawLines, DrawPolygon en DrawRectangles hebben arrays als parameters om complexere vormen te maken.

Met het Pen object kan ook het begin en het eind van een lijn worden bepaald. Bijvoorbeeld pijlen en andere speciale effecten.

Standaard tekent een Pen een rechte lijn. Er kan ook gekozen worden voor een onderbroken lijn. Zet hiervoor de DashStyle property. Met de DashOffset en DashPattern properties kunnen zelfgemaakte dash patronen gemaakt worden.

Met de StartCap en EndCap kunnen bijvoorbeeld pijlen gemaakt worden. Hiervoor kan daarna een keuze gemaakt worden uit de LineCap enum.


Graphics g this.CreateGraphics();
Pen p = new Pen(Color.Red, 7);
p.StartCap = LineCap.ArrowAnchor;
p.EndCap = LineCap.DiamondAnchor;
g.DrawLine(p, 50, 25, 400, 25);




Voor de meeste Draw methods is er ook een Fill method om de vorm in te kleuren. Deze methods werken exact hetzelfde alleen hebben een parameter Brush in plaats van Pen.
De Brush classe is abstract en dus moet er gebruik gemaakt worden van een van de classes die van Brush erft.

Om een vorm te tekenen waarvan de lijnen zichtbaar moeten zijn, dient eerst de Fill methode te worden aangeroepen en vervolgens de Draw methode.

Reacties

Populaire posts van deze blog

[SQL Server] varchar vs nvarchar

MS Sql 70-461: Chapter 5

[C#] Class serialiseren en deserialiseren