AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TImage erzeugen

Ein Thema von Speedy123 · begonnen am 5. Apr 2005 · letzter Beitrag vom 6. Apr 2005
Antwort Antwort
Speedy123

Registriert seit: 5. Apr 2005
12 Beiträge
 
#1

TImage erzeugen

  Alt 5. Apr 2005, 21:59
Hallo Leute,

ich hab da ein Problem, das für erfahrenere Delphi Programmierer eigentlich kein Problem sein dürfte.

Ich versuche gerade ein Spiel zu programmieren. Dafür brauch ich allerdings Massen an Images. Ich hab jetzt auch schon ein Paar eingefügt und gemerkt, dass mein Rechner beim Compilieren mit jedem Bild spürbar langsamer wird. Da ich die Bilder aber teilweise transparent möchte, bleibt mir wohl nichts anders, als doch mit BMPs zu arbeiten.

Ich hab mir jetz überlegt, dass das erstellen der EXE doch viel schneller von statten geht, wenn sich die Images erst beim Starten des Programmes laden würden. Ich hab dann ein bißchen im "Web gebrowsed" und bin auf den Ausdruck TImage.Create gestoßen. Kann es sein, dass das der Schlüssel für mein Problem ist?

Wenn ja würde ich gerne wissen, wie man das dann richtig programmiert (vielleicht mit nem kleinen Beispielquelltext), weils bei mir irgendwie nich so hinhaut.

Also nochmal konkret meine Frage:

Wie sage ich dem Programm sinngemäß:

- Erstelle ein Image mit dem Namen 'IMAGENAME'
- Lade in das Image das Bild...
- Setze das Image an die Stelle(x,y)

Bin um Antwort furchtbar dankbar.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: TImage erzeugen

  Alt 5. Apr 2005, 22:04
Hi,
was du willst ist das dynamische Erstellen von Komponenten.
Das geht ungefähr so:
Delphi-Quellcode:
var
  NewImage: TImage;
begin
  // Komponente erstellen
  NewImage := TImage.Create(Form1);

  // Wichtige Komponenten-Eigenschaften setzen
  NewImage.Name := 'NewImageName'; {Namen}
  NewImage.Parent := Form1; {Formular, oder übergeordnete Komponente}
  NewImage.Top := 10; {Abstand in Pixeln von oben}
  NewImage.Left := 20; {Abstand in Pixeln von links}
  NewImage.Picture.LoadFromFile('yourpicture.jpeg'); {Bild aus Datei laden}
  NewImage.Visible := true; {TImage anzeigen}
end;
So in etwa sollte das Ganze funktionieren.
Hope that helps,
Chris
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#3

Re: TImage erzeugen

  Alt 5. Apr 2005, 22:05
etwa so:
Delphi-Quellcode:
List: array of Timage; // Du wirst viele brauchen...

begin

List[o].create:= TImage.Create;
List[o].parent:= DeinForm;
List[o].Name := ImageFuenf;
List[o].x := 3;
List[o].y := 7;
List[o].loadfromfile(bla.bmp); //<- da bin ich mir nicht ganz so sicher, frag mal F1
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#4

Re: TImage erzeugen

  Alt 5. Apr 2005, 22:05
Hast du mal überlegt die ganzen Bilder vielleicht in einzelne TBitmaps zu speichern und dann auf ein TBitmap zu vereinen, welches du im TImage anzeigst? Oder direkt DelphiX zu nutzen, je nachdem was du machen willst?

MfG Pr0g
  Mit Zitat antworten Zitat
6. Apr 2005, 07:22
Dieses Thema wurde von "Sharky" von "Neuen Beitrag zur Code-Library hinzufügen" nach "VCL-Komponenten und Controls" verschoben.
In "Neue Beitrag zur Code-Library..." bitte keine Fragen posten. Danke
Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#6

Re: TImage erzeugen

  Alt 6. Apr 2005, 08:08
Wenn du die Mengen von Bildern nicht direkt in nem Verzeichnis bei deinem Programm bunkern willst würde ich dir noch vorschlagen dir mal Resources anzusehn und evtl die ganzen bilder entweder über Resources in deine Exe einzubinden oder eine Resource-DLL zu verwenden.

Allerdings wenn es wirklich so viele sind mach dir schon mal gedanken ob das Spiel nachher wirklich flüssig läuft...

Greetz
Boombuler
"Look at you, Hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?"
SwapIt Highscore:
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#7

Re: TImage erzeugen

  Alt 6. Apr 2005, 08:12
Vielleicht noch ne Alternative: DirectX oder Delphi. Für ein Spiel ideal. Mit normalen TImage oder TBitmap wirst du keine Freude haben, weil es viel zu langsam ist. Allerdings ist es natürlich etwas schwieriger mit DirectX (oder alternativ natürlich auch OpenGL). Aber dafür ist die Geschwindkeit nicht zu schlagen.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:31 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