07. maj 2007 - 09:56Der er
5 kommentarer og 1 løsning
Tegne og opdatere picturebox
Hejsa...
Står med følgende problem: Jeg har en picturebox hvor der er sat et baggrundsbillede ind. Det er et kort hvorpå jeg ønsker at tegne nogle punkter udfra givne koordinater der hentes løbende fra en gps. Det virker alt sammen også fint nok. Problemet er at punkterne ikke fjernes, så når jeg har kørt programmet et stykke tid er der hvide punkter over hele kortet. Det skal istedet kun være 1 punkt der vises. Jeg har følgende kode (bemærk at denne dog kun genererer random tal):
Random RC = new Random(); using (Graphics g = Graphics.FromImage(F.pictureBox6.Image)) { Point p1 = new Point(RC.Next(800), RC.Next(600)); g.FillEllipse(Brushes.White, p1.X - 8, p1.Y - 8, 16, 16); F.pictureBox6.Refresh(); }
Gem dit baggrundsbillede i en variabel. Hver gang du skal tegne et nyt punkt, sætter du først baggrundsbilledet fra variablen ind i din picturebox, hvorefter du tegner punktet.
Det har jeg problemer med at få til at virke. Desuden ville jeg gerne undgå at painte hele billedet igen. Er det ikke muligt kun at fjerne det layer hvorpå jeg har kaldt g.FillEllipse funktionen ? hvis der altså er et baggrundsbilledet sat ind i pictureboxen som BackgroundImage property ?
Random RC = new Random(); F.pictureBox6.Image = new Bitmap(800,600); using (Graphics g = Graphics.FromImage(F.pictureBox6.Image)) { Point p1 = new Point(RC.Next(800), RC.Next(600)); g.FillEllipse(Brushes.White, p1.X - 8, p1.Y - 8, 16, 16); F.pictureBox6.Refresh(); }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.