AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Wie "alten Graphen" löschen bevor "neuer" gezeichn
Thema durchsuchen
Ansicht
Themen-Optionen

Wie "alten Graphen" löschen bevor "neuer" gezeichn

Ein Thema von Eloare · begonnen am 28. Jan 2004 · letzter Beitrag vom 29. Jan 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Eloare
Eloare

Registriert seit: 26. Jan 2004
8 Beiträge
 
#1

Wie "alten Graphen" löschen bevor "neuer"

  Alt 28. Jan 2004, 20:19
ich habe ein Problem, da ich noch Anfänger mit Delphi bin:

Ich habe eine Anwendung geschrieben die abhängig von Werten die ich eingebe einen Graphen zeichnet.
Nur finde ich nirgends wie ich es verhindern kann dass wenn ich neue Werte eingebe der neue Graph einfach zum alten Graphen "dazugezeichnet" wird, anstelle dessen soll der alte Graph erst gelöscht werden und dann der neue gezeichnet werden.
Ich nehme an dass das für die meisten von euch kein großes Problem sein wird.
In diesem Sinne, schonmal danke.

mfg Eloare
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Wie "alten Graphen" löschen bevor "neuer&

  Alt 28. Jan 2004, 20:38
Hi!

Wo zeichnest du denn den Graph hin und wie?


Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von n00b_on_knees
n00b_on_knees

Registriert seit: 5. Apr 2003
128 Beiträge
 
#3

Re: Wie "alten Graphen" löschen bevor "neuer&

  Alt 28. Jan 2004, 20:48
hmm..ich denke dass funktioniert mit

refresh; natürlich muss man (sofern ich mich erinnern kann), je nachdem wo man es zeichnet, davor schreiben wo es gelöscht werden soll, also bei einer Paintbox:

Paintbox1.Refresh;
Against TCPA & And I think we should live our dreams
  Mit Zitat antworten Zitat
Benutzerbild von Eloare
Eloare

Registriert seit: 26. Jan 2004
8 Beiträge
 
#4

Re: Wie "alten Graphen" löschen bevor "neuer&

  Alt 28. Jan 2004, 20:48
ich poste einfach mal den Code:

Code:
unit Bahnen;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    BerechneButton: TButton;
    Image1: TImage;
    aEdit: TLabeledEdit;
    bEdit: TLabeledEdit;
    Image2: TImage;
    procedure BerechneButtonClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure drawFunc(a,b:real);
var z,x : real;
  begin
  x := 0;
  Repeat
  z:= (x*Pi)/180;
    form1.image1.Canvas.Pixels [trunc(a*100*cos(z))+423,trunc(b*100*sin(z))+353]:= clblack;
   x := x + (1/10);
  Until x > 360;
  end;


procedure gehe_nach( c,d:integer);
  begin
    form1.image1.Canvas.pen.color:=clblack;
    form1.image1.Canvas.pen.width:=1;
    form1.image1.Canvas.moveto(c,d)
end;

procedure linie(e,f:integer);
  begin
    form1.image1.Canvas.pen.color:=clblack;
    form1.image1.Canvas.pen.width:=1;
    form1.image1.Canvas.lineto(e,f);
end;





procedure TForm1.BerechneButtonClick(Sender: TObject);
  var a,b:real;
      c,d,e,f,g,h,i,j:integer;

         


  begin
    Image2.Picture.LoadFromFile('C:\...\erlaeuterung.bmp');
    a:=StrToInt(aedit.text);
    b:=StrToInt(bedit.text);
    c:=trunc((a*(-100))+423);
    d:=trunc(353);
    e:=trunc((a*100)+423);
    f:=trunc(353);
    drawFunc(a,b);
    gehe_nach(c,d);
    linie(e,f);
    g:=trunc(423);
    h:=trunc((b*100)+353);
    i:=trunc(423);
    j:=trunc((b*(-100))+353);
    gehe_nach(g,h);
    linie(i,j)





  end;

end.

dabei is mir auch gleich noch ne Frage gekommen:
Wie kann ich eine Bitmap an spezielle Koordinaten erzeugen (Ort der Bitmap ist vom Graph abhängig)?



mfg Eloare
  Mit Zitat antworten Zitat
czapie

Registriert seit: 17. Nov 2002
Ort: Berlin
384 Beiträge
 
Delphi 5 Standard
 
#5

Re: Wie "alten Graphen" löschen bevor "neuer&

  Alt 28. Jan 2004, 21:16
Hi,
du kannst einfach die Bitmap mit der entsprechenden Hintergrundfrabe übermalen, schau dir dazu canvas an,

Czapie.
Was man zu verstehen gelernt hat, fürchtet man nicht mehr.
(Marie Curie)
http://www.cafes-in-berlin.com
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#6

Re: Wie "alten Graphen" löschen bevor "neuer&

  Alt 28. Jan 2004, 21:29
Genau. Du speicherst dir einfach die Daten des alten Graphs in irgendeiner Variable und dann änderst du einfach die Pen Farbe und mlast das ganze nochmal. Danach stellst du deine Pen Farbe wieder auf normal und zeichnest den nächsten Graph.
  Mit Zitat antworten Zitat
Benutzerbild von Eloare
Eloare

Registriert seit: 26. Jan 2004
8 Beiträge
 
#7

Re: Wie "alten Graphen" löschen bevor "neuer&

  Alt 28. Jan 2004, 21:30
also des mit dem "refreshen" hab ich jetzt umgangen indem ich einfach meinen Hintergrund (image1) neulade.
Bloß wie ich Bitmaps an von Variablen abhängigen Koordinaten einsetzt, da steh ich immer noch aufm schlauch.


mfg Eloare
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#8

Re: Wie "alten Graphen" löschen bevor "neuer&

  Alt 28. Jan 2004, 21:34
Hi. Möchtest du die Bitmaps einfach auf das Canvas zeichnen? Dann schau dir mal die Prozedur "Draw" des Canvas an. Da kannst du die Koordinaten angeben auf die das Bitmap gezeichnet werden soll.

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Benutzerbild von Eloare
Eloare

Registriert seit: 26. Jan 2004
8 Beiträge
 
#9

Re: Wie "alten Graphen" löschen bevor "neuer&

  Alt 28. Jan 2004, 22:43
also ich hab versucht die Bitmap folgendermaßen einzubauen:
Code:
Bitmap := TBitmap.create;
Bitmap.LoadFromFile('C:\...\Z.bmp');
canvas.draw(trunc(wurzel(quadrat(a)-quadrat(b)))+433,353,Bitmap);
Er baut die Bitmap zwar ein, aber unter dem Image1, also so das man sie nicht sehen kann.
Ich hab es auch mit versucht "form1.image1.canv..." und "image1.canv..." versucht, ändert allerdings auch nix.
Also, wie krieg ich die Bitmap "nach oben" so das ich sie auch sehe?



mfg Eloare

PS: danke für die bisherigen Antworten, hat mich schon mal weitergebracht
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#10

Re: Wie "alten Graphen" löschen bevor "neuer&

  Alt 28. Jan 2004, 22:53
Wenn du nur "Canvas" schreibst, zeichnest du in vielen Fällen einfach auf das Form und nicht auf ein Image. Ein TForm hat nämlich auch ein Canvas. Wenn du statt einfach nur Canvas schreibst:

Image1.Canvas.Draw(...) Dann sollte das ganze normalerweise funktionieren

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz