public static PuntVorm VanString(string s) { // Formaat: [vormtype] [letter] [verzamelingnummer] [x] [y] [r] [g] [b] PuntVorm resultaat; char[] separators = new char[1] { ' ' }; string[] parameters = s.Split(separators, StringSplitOptions.RemoveEmptyEntries); char gelezenLetter = char.Parse(parameters[1]); int gelezenVerzamelingNummer = int.Parse(parameters[2]); // Lees startpunt int gelezenX, gelezenY; gelezenX = int.Parse(parameters[3]); gelezenY = int.Parse(parameters[4]); Point gelezenStartpunt = new Point(gelezenX, gelezenY); // Lees kleur int r, g, b; r = int.Parse(parameters[5]); g = int.Parse(parameters[6]); b = int.Parse(parameters[7]); SolidBrush gelezenKwast = new SolidBrush(Color.FromArgb(r, g, b)); // Maak vorm resultaat = new TekstVorm(gelezenLetter, gelezenKwast, gelezenStartpunt); resultaat.VerzamelingNummer = gelezenVerzamelingNummer; return resultaat; }
public override void Letter(SchetsControl s, char c) { if (c > 32) { Graphics gr = s.MaakBitmapGraphics(); var letter = new TekstVorm(c, kwast, startpunt); letter.VerzamelingNummer = verzamelingNummer; s.Schets.Vormen.Add(letter); letter.Teken(gr); // Letter moet gemeten worden voor we weten hoever we op moeten schuiven startpunt.X += (int)letter.sz.Width; s.Invalidate(); } if (c == 32) //spatie, nieuw woord { verzamelingNummer++; startpunt.X += 20; } }