Regolari espressioni e drawlines.

domenica 23 maggio 2010 - 20.49

Anonimo Profilo | Senior Member

Salve, guardando un pò in msdn ho trovato che c'è questa funcioncina...che mi servirebbe farla funzionare con le regolari espressioni.
http://msdn.microsoft.com/en-us/library/system.drawing.graphics.drawlines%28VS.71%29.aspx

Il codice è questo:
private void button1_Click(object sender, EventArgs e) { Bitmap bmp = new Bitmap(this.pictureBox1.Width / 2, this.pictureBox1.Height / 2); this.pictureBox1.Image = null; using (Graphics g = Graphics.FromImage(bmp)) { Pen myPen = new Pen(Color.Red); g.PageUnit = GraphicsUnit.Pixel; List<PointF> pt = new List<PointF>(); Regex coord = new Regex(@"X(?<CoordX>\d+)Y(?<CoordY>\d+)"); MatchCollection mc = coord.Matches(textBox1.Text); foreach (Match m in mc) { int x = int.Parse(m.Groups["CoordX"].Value); int y = int.Parse(m.Groups["CoordY"].Value); } g.DrawLines(myPen, mc); <- Qui cosa posso fare per acchiapare le x y sopra?. g.Dispose(); } pictureBox1.Image = bmp; }

Mi dite come posso risolvere questo problema?
grazie. Grazie molto e scusate, se faccio un pò di caus.

Grazie.

EDIT- Protei usare le pointarray, solo che su google non trovo e non so come inserirlo.

freeteo Profilo | Guru

Ciao,
puoi usare una list<Point> e via via che fai il Match con regex vai ad aggiungere un nuovo Point a quella lista, che abbia le coordinate che arrivano appunto dal Match.
Un codice di questo tipo:
... List<Point> pt = new List<Point>(); Regex coord = new Regex(@"X(?<CoordX>\d+)Y(?<CoordY>\d+)"); MatchCollection mc = coord.Matches(textBox1.Text); foreach (Match m in mc) { int x = int.Parse(m.Groups["CoordX"].Value); int y = int.Parse(m.Groups["CoordY"].Value); pt.Add(new Point(x,y)); } g.DrawLines(myPen, pt.ToArray()); ...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5