Autor Beitrag
Denisis
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 18.10.07 10:13 
Hi leute,

bin noch ein ziemlicher Frischling in Delphi und arbeite mich langsam vor. Nun will ich in die Grafiken einsteigen und Mir erst mal 2 Punkte setzen die ich dann mit einer Linie verbinde. Ausserdem möchte ich diese linie in frabige abschnitte unterteilen.

Mfg und danke im Voraus

Denisis
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Do 18.10.07 10:26 
Hallo Denisis
als Zeichenfläche nihmst Du am besten zum Anfang Canvas von TForm1. Für die Vektorgrafik(hier nur die Linie) definiere ein Record(oder eine Klasse) in welchen Du Start und Endpunkt der Linie speicherst so wie eine Anzahl an zwischen Punkten. Wie die Werte der ZwischenPunkte kann man über einfache Geometrie ermitteln.

Versuchs zuerst aber mal Linien auf das Canvas zu bringen und diese einzufärben bevor Du dich an die Zwischenpunkte machst.
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Do 18.10.07 10:46 
Form.Canvas würde ich aber nur zum Einsteigen nehmen. Wenn du nämlich mit einem anderen Formular drüberfährst, ist die Zeichnung weg (ich glaube, das liegt daran, dass Windows nicht automatisch neu zeichnet). Aber später würde ich entweder TPaintBox oder TImage nehmen. Für die Linie brauchst du zwei Punkte. Den Startpunkt definierst du mit Canvas.MoveTo(X,Y) und dann wird mit LineTo(X,Y) eine Linie zum Endpunkt gezeichnet. Bei einer Vektorgrafik wird's schwieriger. Aber ehrlich gesagt hatte ich die Idee schon, bevor ich wusste, dass es sowas gibt. Du müsstest dann z.B. bei einer 100*100-Fläche die Punkte speichern und dann die Größe der Grafik durch 100 teilen und dann diesen Faktor mit den abgespeicherten Koordinaten multiplizieren.
Denisis Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 19.10.07 14:13 
hi,
danke für die antworten. Leider kann ich mit diesem canvas nix anfangen, nur mit image. Kann mir vll einer mal von euch einen link zu einem Beispiel Programm geben? Wäre sehr nett.

mfg
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Fr 19.10.07 16:41 
Timage und TForm implementieren beide die abstrakte Klasse TCanvas. Tcanvas wiederum kapselt nützliche Befehle zum Zeichen. Wie die nun lauten und wie die zu verwenden sind steht in der DelphiHilfe.