Autor Beitrag
detlef-d
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 02.06.10 19:50 
hi,
ich will ein bild mithilfe von tastatur befehlen steuern, mit den auswertung der tasen habe ich kein problem nur mit dem bild: wenn ich mit canvas etwas zeiche funktioniertz alles prima nun möchte ich jedoch ein richtiges bmp bild einbinden.
dafür nutze Image1.picture.loadfromfile('C:.figur.bmp')
dei datei wird auch geladen doch nun möchte ich sie verschieben und stehe auch dem schlauch muss ich dann von timage die koordinaten ändern bzw wie und was wäre der vorteil wenn das bild in der imagelist wäre.

gruß detlef

Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: Mi 02.06.10 20:31 
ausblenden Delphi-Quelltext
1:
2:
Image1.Left:= Image1.Left + 10;
Image1.Top:= Image1.Top - 5;

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
detlef-d Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Mi 02.06.10 20:50 
top danke funktioniert:)
kann ich mir jetzt noch die aktuellen postitions daten ausgeben lassen?
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Mi 02.06.10 21:18 
Hi :)

Die aktuelle Position steht in genau der Variable, in die du sie gerade reingeschrieben hast: Image1.Left/Top ;)

Mach' erstmal so weiter, und lies eventuell auch mal den Crashkurs von Christian S.. Wenn du ein bisschen mehr Übung hast, solltest du dir aber einmal die Klasse TPaintbox ansehen. Die ist für Bewegungen etwas geeigneter.
Du lädst dann das Bild zunächst einfach nur in den Speicher(ohne es auf den Bildschirm zu zeichnen), in TBitmap. Dann kannst du jederzeit mit Paintbox1.Repaint; das alte Bild löschen, und alles neu zeichnen. In Paintbox1.OnPaint kommt dann beispielsweise ein Paintbox1.Canvas.Draw(AutoX, AutoY, BmpAuto);, und Paintbox1.OnPiant wird jedes Mal aufgerufen, wenn auch Windows die stelle neu zeichnet - beispielsweise, weil ein anderes fenster darüber gezogen wird.

Der Vorteil: Nur eine vcl-Komponente(1 Paintbox), statt potentiell 600 einzelne TImages.

lg,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)