Oprettet man. d. 07. maj 2007 kl. 09:56:44

phineas_phreak
phineas_phreak (21.302 point. Point ude: 60)

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();
}

hva er det jeg gør galt ?

på forhånd tak

Skrevet man. d. 07. maj 2007 kl. 12:45:18| #1

aaberg_cc
aaberg_cc (39.323 point)
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.

Skrevet man. d. 07. maj 2007 kl. 12:48:21| #2

aaberg_cc
aaberg_cc (39.323 point)
Random RC = new Random();

F.pictureBox6.Image = this.BackgroundImage;

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();
}

For at dette skal virke, må du have en variabel på klassen eller en property som hedder BackgroundImage.

Skrevet man. d. 07. maj 2007 kl. 16:53:18| #3

phineas_phreak
phineas_phreak (21.302 point)
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 ?

Skrevet man. d. 07. maj 2007 kl. 21:30:30| #4

aaberg_cc
aaberg_cc (39.323 point)
Ok. gør som herunder:

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();
}

Skrevet tir. d. 08. maj 2007 kl. 07:33:24| #5

phineas_phreak
phineas_phreak (21.302 point)
Så nu fik jeg det endelig til at virke så det jo perfekt ! smid et svar :)

Skrevet tir. d. 08. maj 2007 kl. 08:15:16| #6


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Print fra Windows Service på Win2008

Oprettet den 24. maj 2012 kl. 11.17
jps6kb giver 200 point for svar | Giv et svar »

Udskrive en Breadcrumb (Jeg er her >>)

Oprettet den 18. maj 2012 kl. 12.04
Qbruger giver 200 point for svar | Giv et svar »

Hjælp til at lokalisere fejl i CMS (synkron.via) dll

Oprettet den 16. maj 2012 kl. 19.31
jokkejensen giver 200 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger