detlef-d - Mi 02.06.10 19:50
Titel: timage für bewegung
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
Narses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
Hidden - 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. [
http://www.christian-stelzmann.de/artikel/CrashkursReloaded/]. 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,