Autor Beitrag
Delphianfänger81
Hält's aus hier
Beiträge: 12

XP
Delphi 7
BeitragVerfasst: Fr 20.10.06 21:25 
Ich möchte ein Koordinatensystem über ein geladenes Bitmap legen. Wenn möglich zentrisch in der Mitte des Bildes.
Habe bereits hier im Forum gesucht, da es ja zu diesem Thema schon einiges gibt, doch leider war es mir nicht möglich als absoluter Anfänger die gefunden Quelltexte oder Hilfen richtig umzusetzten....

Daher bitte bitte geduldig helfen ;-)
Vielen Dank !!!
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Fr 20.10.06 21:53 
@GTA-Place: Bitte diesen beitrag überspringen und erst danach weiterlesen. wir wollen ja nich das du an einem Schlaganfall stirbst!


zuerstmal schaust du nach wie breit und wie hoch das Bild ist mit
ausblenden Delphi-Quelltext
1:
2:
3:
4:
xmitte,ymitte: integer;

xmitte:=deinbmp.width div 2;    
ymitte:=deinbmp.heigth div 2;


und dann zeichnest du mittels Cavas.Moveto und Canvas.Lineto das Fadenkreuz.
z.b.: Fadenkreuz übers ganze Bild:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
var xmitte,ymitte: integer;
begin
  xmitte:=meinbmp.width div 2;
  ymitte:=meinbmp.heigth div 2;

  bmp.Canvas.moveto(xmitte,0);
  bmp.Canvas.lineto(xmitte,bmp.heigth);
  
  bmp.Canvas.moveto(0,ymitte);
  bmp.canvas.lineto(bmp.width,ymitte);
  Image1.assign(bmp);


Ich hoffe das stimmt habs noch nicht getestet!

mfg el

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Delphianfänger81 Threadstarter
Hält's aus hier
Beiträge: 12

XP
Delphi 7
BeitragVerfasst: Fr 20.10.06 22:55 
Okay,
habe es zum Laufen bekommen. Vielen Dank.
Kann man eigentlich eine Einteilung der Linien hinzufügen ?
_frank_
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 343
Erhaltene Danke: 1

Win XP
Delphi 3 Prof / Turbo Delphi Explorer
BeitragVerfasst: Sa 21.10.06 03:11 
klar, musst halt malen ;)

ich hab das mal für die x-Achse gemacht (brauchst das nur noch für die y-achse zu übernehmen)

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
procedure TForm1.Button1Click(Sender: TObject);
var xmitte,ymitte,i,tw: integer;
    bmp:TBitmap;
    s:string;
begin
  bmp:=TBitmap.create;
  bmp.width:=200;
  bmp.Height:=200;
  xmitte:=bmp.width div 2;
  ymitte:=bmp.height div 2;

  bmp.Canvas.moveto(xmitte,0);
  bmp.Canvas.lineto(xmitte,bmp.height);

  bmp.Canvas.moveto(0,ymitte);
  bmp.canvas.lineto(bmp.width,ymitte);

  i:=20;
  while i< xmitte do
  begin
    s:=IntToStr(i div 20);
    tw:=bmp.Canvas.TextWidth(s) div 2;
    //positive Achse
    bmp.canvas.MoveTo(xmitte+i,ymitte-5);
    bmp.canvas.LineTo(xmitte+i,ymitte+5);
    bmp.canvas.TextOut(xmitte+i-tw,ymitte+5,s);
    //negative Achse
    bmp.canvas.MoveTo(xmitte-i,ymitte-5);
    bmp.canvas.LineTo(xmitte-i,ymitte+5);
    bmp.canvas.TextOut(xmitte-i-tw-3,ymitte+5,'-'+s);
    inc(i,20);
  end;

  bitblt(canvas.handle,0,0,bmp.width,bmp.height,bmp.canvas.handle,0,0,srccopy);
  bmp.free;
end;


Gruß Frank
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: Sa 21.10.06 15:45 
schau mal dort , die Source liegen ja bei!

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!