Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Neues Image bei Laufzeit erstellen (https://www.delphipraxis.net/145791-neues-image-bei-laufzeit-erstellen.html)

Simme 8. Jan 2010 13:41


Neues Image bei Laufzeit erstellen
 
Hallo Leute.
Ich bin noch nicht besonders vertraut mit Delphi, ich habe das in der Schule seit ca. 1 1/2 Jahren, weiß zwar etwas mehr, aber trotzdem viele Sachen noch nicht. Also geht bitte vorsichtig mit mir um! :-D
Also, folgendes Problem: Ich möchte ein TImage bei Laufzeit erstellen, weil ich nicht weiß, wie viele ich brauchen werde. Dies soll bei einem Tastendruck geschehen. Das habe ich alles soweit hinbekommen, allerdings zeigt der mir, wenn ich das Programm am Laufen habe, nur ein weißes Bild aus, obwohl ich eigentlich per LoadFromFile ein Bild angegeben habe... Ich habe auch schon probiert, mit Assign die Eigenschaften eines anderen Bildes auf das hier zu übertragen, da bekomm ich aber im Programm dann eine Fehlermeldung... Complimierbar ist aber alles.
Hier der Code von dem Teil, den ich meine:
Delphi-Quellcode:
If ((GetAsyncKeyState(VK_NUMPAD0)) <> 0) Then
    begin
      bombesp1 := TImage.Create(Form1);
      with bombesp1 do
      begin
        Visible := true;
        Top  := 64;
        Left := 200;
        Width := 49;
        Height:= 65;
        Name := 'Bombe_SP1';
        Parent := Form1;
        Picture.LoadFromFile('bombe.bmp');
      end;
      bombesp1.Left := Image1.Left;
      bombesp1.Top := Image1.Top;
      bombesp1.Visible := True;
      Delay(2000);
      bombesp1.Picture.LoadFromFile('bombe_explodiert.bmp');
    end;
Ich wäre echt dankbar für Hilfe!

Danke.

Simme

Klaus01 8. Jan 2010 13:47

Re: Neues Image bei Laufzeit erstellen
 
Hallo,

lade das Bild mal mit Pfadangabe.
Delphi-Quellcode:
Picture.LoadFromFile('bombe.bmp');
Wenn die Datei im gleichen Verzeichnis wie Deine Applikation liegt:
Delphi-Quellcode:
Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+'bombe.bmp');
Grüße
Klaus

Simme 8. Jan 2010 13:51

Re: Neues Image bei Laufzeit erstellen
 
Leider ist das Resultat das gleiche... Ist alles complimierbar, allerdings wird dann nur ein weißes Bild angezeigt... Hast du noch eine andere Idee?

Klaus01 8. Jan 2010 13:57

Re: Neues Image bei Laufzeit erstellen
 
.. da es sich um ein Bitmap handelt:
Delphi-Quellcode:
Picture.Bitmap.LoadFromFile(ExtractFilePath(ParamStr(0))+'bombe.bmp');
Grüße
Klaus

Matze 8. Jan 2010 13:58

Re: Neues Image bei Laufzeit erstellen
 
Hallo, herzlich Willkommen!

Vorweg: Es heißt kompilierbar und nicht complimierbar.

Folgender Code funktioniert bei mir:

Delphi-Quellcode:
var
  myImage: TImage;
begin
  myImage := TImage.Create(Form1);
  myImage.AutoSize := true;
  myImage.Parent := Form1;
  myImage.Picture.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'test.bmp');
  myImage.Left := 10;
  myImage.Top := 10;
  myImage.Show;
end;
Grüße, Matze

Simme 8. Jan 2010 14:15

Re: Neues Image bei Laufzeit erstellen
 
Bin ich bescheuert! :-D Ich brauchs mir gar nicht so kompliziert machen, wie du es mir gezeigt hast! ;) Du hast mich auf eine andere Idee gebracht: Ich muss einfach nur Strecht und Proportional auf True setzen! Das hab ich vergessen... Die obere linke Ecke des Bildes ist nämlich weiß, da hätte ich auch eher drauf kommen können... :D

Ich konnte mir schon denken, dass das von Compiler kommt, aber wusste nicht, wie ichs umformen soll :D Aber naja, jetzt weiß ichs: kompilierbar. ;)

Danke!

Gruß
Simme


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz