Posts

Posts uit december, 2010 tonen

Hoofdstuk 6 - Les 3

Tekst kan aan een afbeelding worden toegevoegd d.m.v. d Graphics class: Maak een Graphics object Maak een Font object (Optioneel) Maak een Brush object Roep Graphics.DrawString aan Een eenvoudige manier om een Font object aan te maken is als volgt: FontFamily ff = new FontFamily("Arial"); Font f = new Font(ff, 12); Om een font in te lezen vanuit een string, maak dan gebruik van de FontConverter class. Op de volgende manier kan tekst worden 'getekend' Graphics g = this.CreateGraphics(); Font f = new Font("Arial", 40, FontStyle.Bold); g.DrawString("Hello, world!", f, Brushes.Blue, 10, 10); Hiervoor kan het beste een label gebruikt worden, maar met deze methode kan er ook in afbeeldingen worden geschreven. Handig voor bijvoorbeeld copyrights e.d.. Met de StringFormat class kan de richting en uitlijning van de tekst bepaald worden. Een object hiervan kan vervolgens meegegeven worden aan de DrawString methode.

Hoofdstuk 6 - Les 2

De System.Drawing.Image class is abstract en geeft de mogelijkheid om een afbeelding te maken, te laden, aan te passen of op te slaan. Er kunnen instanties van de Image class gemaakt worden door Image.FromFile of Image.FromStream aan te roepen. Daarnaast kan ook gebruik gemaakt worden classes die erven van Image: System.Drawing.Bitmap en System.Drawing.Imaging.Metafile (voor geanimeerde afbeeldingen). Bitmap heeft onder andere 2 methode die Image niet heeft: GetPixel: Geeft de Color object van een bepaalde pixel in de afbeelding. SetPixel: Geeft een pixel een bepaalde kleur. Om een afbeelding te tonen van de harde schijf kan een PictureBox gebruikt worden. De afbeelding kan worden geladen met Image.FromFile om vervolgens de BackgroundImage te zetten van de PictureBox. De achtergrond van een form kan gezet worden door een Graphics object van de form aan te maken en vervolgens de methode DrawImage aan te roepen. Om een nieuwe afbeelding te maken, maak je een nieuwe Bitmap aan zonder een

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: Maak een Graphics object aan door System.Windows.Forms.Controls.CreateGraphics aan te roepen. Maak een Pen object Roep een methode van de Graphics aan om te tekenen op het form of control De Graphics class bevat vele methoden waarmee vorm

Hoofdstuk 5 - Les 3

Met customserialisatie kan ervoor worden gezorgd dat het serialiseren en deserialiseren tussen verschillende applicatie versies goed verloopt. Dit houdt in dat als er bijvoorbeeld een veld is bijgekomen in een class die wordt geserialiseerd, de oude versie hier niet op stuk loopt. Bij custom serialisatie moet de interface ISerilizable worden geimplementeerd en moet het attribuut [Serializable] worden toegevoegd aan de class. Bij het implementeren van deze interface moet de methode GetObjectData worden geimplementeerd, maar ook een constructor die wordt aangeroepen bij het deserialiseren. Tijdens het serialiseren wordt de methode GetObjectData aangeroepen en moet het SerializationInfo object handmatig worden gevuld. Dit kan door middel van de AddValue methode met name/value paren. Tijdens het deserialiseren kunnen de waarden weer opgehaald worden d.m.v. de meegegeven name. .NET ondersteunt binary serialisatie events als de BinaryFormatter class wordt gebruikt. De SoapFormatter kent deze

Hoofdstuk 5 - Les 2

System.Xml.Serialization bevat methoden voor het converteren van objecten, van en naar xml bestanden. Gebruik XML serialisatie als objecten moeten worden uitgewisseld met applicaties die het .NET framework niet ondersteunen. XML Serialisatie bevat de volgende voordelen ten opzichte van normale serialisatie. Grotere samenwerking: XML is een text bestand en dus kan er door elke taal mee worden gewerkt. Meer administrator vriendelijk: Geserialiseerde xml bestanden kunnen gelezen worden door administrators. Daarbij kunnen deze bestanden aangepast worden. Betere forward-compatability: Als een nieuwe versie van een applicatie uitkomt kunnen de XML bestanden makkelijker worden verwerkt. Nadelen van XML serialisatie: XML serialisatie kan geen private velden bevatten, enkel public velden. Er kunnen geen object graphs geserialiseerd worden, alleen objecten. Globaal ziet XML serialisatie er als volgt uit: Maak een stream, TextWriter of XmlWriter om de geserialiseerde output vast te houden Maak ee

Hoodsstuk 5 - Les 1

Serealisatie, zoals geimplementeerd in de System.Runtime.Serialization namespace, is het process van serialiseren en deserialiseren van objecten zodat deze kunnen worden opgeslagen of vervoerd en later opnieuw aangemaakt kunnen worden. Serialiseren is het converteren van een object in een lineaire volgorde van bytes die kunnen worden opgeslagen of worden vervoerd. Globaar gezien werkt het serialisatie process als volgt: Maak een stream object die de serialisatie output bevat Maak een BinaryFormatter object (te vinden in System.Runtime.Serialization.Formatters.Binary) Roep de BinaryFormatter.Serialize() methode aan om het object te serialiseren en de output op te slaan in de stream string data = "Dit moet worden opgeslagen in een bestand"; // Maak een bestand aan om de data op te slaan FileStream fs = new FileStream("Serialize.data", FileMode.Create); // Maak een binary formatter object BinaryFormatter bf = new BinaryFormatter(); // Serialiseer de data m.b.v. de bina