Avatar billede lubker Nybegynder
13. april 2004 - 09:49 Der er 17 kommentarer og
1 løsning

Canvas hvordan afsætter man (x1;y1) ved første klik, (x2;y2) osv

Jeg sidder og leger lidt med canvas, men kan ikke helt få det til at virke.
Det jeg ønsker er en forklaring til hvordan jeg ved første klik kan afsætte (x1;y1) næste klik (x2;y2) osv. koordinatsættene skal fobindes med en lige linje (LineTo).

Hvordan gør jeg det?
Avatar billede borrisholt Novice
13. april 2004 - 09:59 #1
Det er da bare at gemme en TPoint for dit første klik, og så forbinde den med en LineTo med det næste klik. Hvis det skal være sådan en linje du kan flytte er det en anden snak.

Jens B
Avatar billede lubker Nybegynder
13. april 2004 - 10:04 #2
Hvordan gør jeg det i praksis (det første)
Avatar billede lubker Nybegynder
13. april 2004 - 10:17 #3
Gunden til jeg skal bruge koordinaterne er at jeg senere skalberegne længden af den samlede streg.
Avatar billede borrisholt Novice
13. april 2004 - 10:21 #4
Brug OnMouseDown der får du x og y udleveret. Dem gemmer du en kopi af

Jens B
Avatar billede lubker Nybegynder
13. april 2004 - 10:39 #5
Det har jeg fået til at virke nu.
Hvordan henter jeg så indholdet så jeg kan beregne længden af en streg.
SQRT((x1 - x2)^2 + (y1 - y2)^2))
Avatar billede lubker Nybegynder
13. april 2004 - 12:41 #6
Jeg har lidt koder der ser sådan ud:

procedure TRuteMaaler.mapMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if tegnerrute then
begin
map.Canvas.Pen.Mode := pmCopy;
map.Canvas.Pen.Color := clRed;
map.Canvas.Pen.Width := 2;
map.Canvas.LineTo(X, Y);

end else begin
tegnerrute :=True;
map.Canvas.MoveTo(X, Y);
startpunkt := Point(X, Y);
end
end;

og har fundet ud af hvordan man henter koordinaterne fra det sidste klip, hvordan henter jeg værdierne der er gemt i "startpunkt"?
Avatar billede lubker Nybegynder
13. april 2004 - 12:49 #7
Fik det selv til at virke...
Avatar billede lubker Nybegynder
13. april 2004 - 13:15 #8
Smider du et svar...
Avatar billede borrisholt Novice
13. april 2004 - 13:21 #9
:-)
Avatar billede borrisholt Novice
14. april 2004 - 08:14 #10
Nu ved jeg ikke hvor hard core du er men du skulle overveje en løsning med streger der kan flyttes. Jeg kan godt hjælpe dig, jeg har sådan en streg på lager.

Jens B
Avatar billede lubker Nybegynder
14. april 2004 - 08:42 #11
Ja, det var da måske enmulighed,men er det ikke et kæmpe arbejde? er rimelig ikke overdrevet hardcore for at sige det mildt...
Avatar billede borrisholt Novice
14. april 2004 - 08:47 #12
Men omvendt så lærer du en masse ....

Det der ville blive din store udfordring var at forbinde to streger så ledes Streg 1 havde samme slut punkt som Streg 2' start punkt .. Men det er op til dig :O Jeg vil gerne flække et eksempel sammen hvis du vil bruge det.

Jens B
Avatar billede lubker Nybegynder
14. april 2004 - 08:51 #13
Det lyder jo meget tiltalende, men så kommer mit næste problem. Længden af densamlede streg skal findes... Nu beregner jeg det et stykke for hvert klik og lægger det sammen ed total. Det kan jeg jo ikke på den måde. Men hvis du også har en idé til det, må du da gerne flække et eksempel sammen. hvor mange point?
Avatar billede borrisholt Novice
14. april 2004 - 08:56 #14
Det sidste er nemt nok, fordi sådan en streg er et rigtigt objekt, så det er bare at spørge stregen efter dens koordinater ...

Jeg flækker lidt sammen til dig ....

Glem det med pointsene .... Jeg står ikke lige og mangler. Du kan i stedet give mig karma, det kan bruges til noget. Fordi så kan andre se om jeg opfører mig pænt eller jeg blot ahr mange poinst.

Jens B
Avatar billede lubker Nybegynder
14. april 2004 - 08:59 #15
Det skal du få...
Avatar billede borrisholt Novice
14. april 2004 - 10:38 #16
Jeg har lavet et eksempel til dig med en alm linje, lavet med LineTo
http://borrisholt.com/Eksperten/SmartLine.zip, men i modsætning til din kan den flyttes. Så skal du bare lave noget med at holde styr på flere linjer, men det er vel heller ikke så svært ?

Programmer virker ved at man loadet et billede ind som man så tegner på (JPEG medfølger)!

Jens B
Avatar billede borrisholt Novice
14. april 2004 - 14:28 #17
Et alternativ kunne være at lave Stregerne som rigtige Objecter der arver fra TgrapichControl, men hvis du ikke er Hardcore, så tror jeg du lige skal klappe hesten. Men omvendt hvis du ikke er bange fore en udfordring, laver jeg gerne sådan en til dig.

Jens B
Avatar billede lubker Nybegynder
14. april 2004 - 14:41 #18
Jeg tror bare vi stopper her, for det her er længe fint til mit program.

Men jeg siger mange tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester