procedure TForm1.Button1Click(Sender: TObject); const num = 10; {antal mellemrum, dvs. 11 punkter} var i: integer; xdel,ydel: double; begin xdel := (image1.width-20)/num; ydel := image1.height-20; Image1.Canvas.fillrect(ClientRect); {sletter image} Image1.Canvas.MoveTo(10,10); Image1.Canvas.LineTo(10,Image1.height-10); {koordinatsystem} Image1.Canvas.LineTo(Image1.width-10,Image1.height-10); Randomize; Image1.canvas.MoveTo(10,Image1.height-10-Round(Random*ydel)); for i := 1 to num do begin Image1.canvas.LineTo(10+Round(i*xdel), Image1.height-10-Round(Random*ydel)); end; end;
Tak for de fede svar:) Men jeg er stødt på et problem igen.
Dette kan løse det:
Hvordan kan jeg lave en slags variabl der gemmer en canvas(Graf), og så hver gang jeg trykker på en knap skal den lave en ny Canvas(graf) + den gamle Canvas(Graf) gemt i variablen.
Da grafen iøvrigt bare er en funktion af nogle tal, kan du bare gemme den som en array, og så gentegne funktionen ud herfra. Det fylder meget mindre end at gemme hele bitmap'en. Jeg vender tilbage lidt senere med et eksempel.
procedure TegnGraf(const a: array of double; const num: integer); const kant = 10; var i: integer; xdel,ydel: double; begin xdel := (Form1.image1.width-2*kant)/num; ydel := Form1.image1.height-2*kant; Form1.Image1.Canvas.fillrect(Form1.ClientRect); Form1.Image1.Canvas.MoveTo(kant,kant); Form1.Image1.Canvas.LineTo(kant,Form1.Image1.height-kant); Form1.Image1.Canvas.LineTo(Form1.Image1.width-kant, Form1.Image1.height-kant); Form1.Image1.canvas.MoveTo(kant, Form1.Image1.height-kant-Round(a[0]*ydel)); for i := 1 to num do begin Form1.Image1.canvas.LineTo(kant+Round(i*xdel), Form1.Image1.height-kant-Round(a[i]*ydel)); end; end;
procedure TForm1.Button1Click(Sender: TObject); const num = 10; {antal mellemrum, dvs. 11 punkter} var i: integer; a: array[0..num] of double; begin for i := 0 to num do a[i] := random; TegnGraf(a,num); { her kan du bruge array a,b,c osv. for} end; { forskellige grafer }
Du kan jo også lave noget tilsvarende med Stoney's Chart-eksempel.
Synes godt om
Ny brugerNybegynder
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.