![]() |
Canvas-Polygon
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!
Zurzeit ist in der Schule unsere Aufgabe, etwas mit Canvas und Polygon selst zu entwickeln. eine Art Logo oder so etwas... Ich habe mithilfe Anderer jetzt ein Programm geschrieben, das per ImageClick das Logo darstellt. Hierbei habe ich mit CreateTriangle und CreateRectangle gearbeitet. Jetzt ist meine Frage, ob ich das ganze "Logo" skalierbar machen kann, bzw. die Größe während das Programm läuft veränderbar machen kann... evtl durch angegebene Spinedits. Das Project ist angehängt! |
Re: Canvas-Polygon
Ja das kannst du !
Dazu müsstest du wie folgt vorgehen: -> Definiere dir einen Mittelpunkt(des Logos) als TPoint -> Alle anderen Werte ala Eckpunkte der Triangles usw. Sind nun abhängig von diesem Punkt -> Eine Längenvariable definieren ! zb Lange = 100; Konkret würde das so aussehen: Triangle links: Eckpunkt rechts oben = Mittelpunkt X - Lange ^ Mittelpunk Y - Lange Eckpunkt rechts unten = Mittelpunkt X - Lange ^ Mittelpunkt Y + Lange Eckpunkt links mitte = Mittelpunkt X - Lange*2 ^ Mittelpunkt Y ... so in etwa .. denn somit wären die Punkte abhängig von der Lange ! MfG |
Re: Canvas-Polygon
Wie setze ich einen Mittelpunkt fest?
Ist die variable "lange" eine feste zahl oder die zahl in einem Spinedit? |
Re: Canvas-Polygon
du deklarierst dir zwei Variablen:
Mittelpunkt: TPoint und Lange: Integer; Nun setzt du im FormCreate den Mittelpunkt auf die Mitte des Formes ! (schau dir dazu die ClientWidth & ClientHeight Eigenschaften der Form an) Anschließend Lange setzen ! Ich würd im FormCreate die Länge auf ~80 setzen Nachher kannst du ja beim ändern des Spinedits sein Value der Länge zuweisen. MfG |
Re: Canvas-Polygon
Kann ich den Mittelpunkt im mittelpunkt des images festlegen, damit es sich an der Form des Images orientiert=?
|
Re: Canvas-Polygon
Kannst du ! Du kannst eig. alles mit Delphi !
Also frag nächstes mal nicht, ob du es kannst, sondern, wie du es schaffst ! ;) Also Mitte von Image = (X) Image-Left + Image-Width div 2 und (Y) Image-Top + Image-Height div 2 Falls du das natürlich auf dem Image haben willst, dann vergiss nicht, auf dem Canvas der Image zu zeichnen ! (Image.canvas...) |
Re: Canvas-Polygon
Sry, aber ich habe es jetzt längere Zeit versucht, aber iwie funktioniert es net. :wall:
Könntest du mir evtl. den Quellcode zum definieren des Mittelpunktes und der Länge und zum Einbringen der beiden Variablen in den übrigen Quelltext zeigen? mfG |
Re: Canvas-Polygon
Delphi-Quellcode:
PS: Zeig mal her, was du schon soweit selbst geschafft hast !
TForm1...
public .... MittelPunkt: TPoint; Lange: Integer; .... end .. ... // formcreate: MittelPunkt := Point( 200, 200 ); Lange := 100; |
Re: Canvas-Polygon
Mein großes Problem ist, dass ich nicht weiß, wie ich diese beiden Variablen in das
Delphi-Quellcode:
einbringe.... :wiejetzt:
CreateTriangle( Dreieck, Point( 100, 100), Point( 150, 50 ), Point( 200 , 100 ));
|
Re: Canvas-Polygon
Zitat:
Delphi-Quellcode:
(das ist jetzt einfach nur iwie .. du müsstest hast die Werte absolut auf den Mittelpunkt definieren :)
CreateTriangle( Dreieck, Point( Mittelpunkt.X-100, Mittelpunk.Y*100), Point( Mittelpunkt.X+150, MittelPunkt.Y-50 ), Point( Mittelpunk.X + 2*200 , -Mittelpunk.Y + 100 ));
Also wären die XY Koordinaten des linken Dreiecks = X & Y = links von Mittelpunkt Rechter Eckpunkt 1 = oben, 2 = unten linker Eckpunkt = selbe höhe, links .. MfG |
Re: Canvas-Polygon
Liste der Anhänge anzeigen (Anzahl: 1)
Sry, aber ich weiß echt nicht, was falsch ist! :(
Ich hänge nochmal das Programm an... Dabei habe ich nun schon probiert den Mittelpunkt im Image zu definieren usw. Vll schaust du dir das mal an und sagst mir dann, was falsch ist bzw. schreibst ihn so, dass es funktioniert.^^ Das ist immer am leichtesten nach zu vollziehen. Danke für allen Aufwand... :corky: |
Re: Canvas-Polygon
Liste der Anhänge anzeigen (Anzahl: 1)
Schau dir das kleien Demo-Dino an :)
MfG und gute Nacht |
Re: Canvas-Polygon
Sry, aber ich bekomm es net hin das einzubauen!
Ich habe nun 3,5 std. daran rumprobiert, aber es geht einfach nicht. :( Ich würde es aber trotzdem gern hinkriegen... Ich weiß, dass es etwas Arbeit ist, aber könntest du diese Variante mit der TrackBar in mein Programm einbauen? Sonst blick ich das nie! Es reicht, wenn du es für den einen Stern machen würdest. Es geht nur darum, dass ich es versteh. Danke für allen Aufwand! mfG |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz