Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Form erst anzeigen, wenn Image geladen ist? (https://www.delphipraxis.net/19769-form-erst-anzeigen-wenn-image-geladen-ist.html)

Lefko 8. Apr 2004 15:39


Form erst anzeigen, wenn Image geladen ist?
 
Hallo Leute :hi: ,

ich hab ein Prog, bei dem im OnCreate des Forms ein JPG-Image in eine Image-Kompo geladen wird, die 800x600 Pixel groß ist!
Dadurch kommt es zu so einem doofen Moment, in dem das Form zwar schon angezeigt wird, das Bild aber noch nicht geladen ist! In diesem Moment ist die ganze Form dann blöd GRAU! :evil:

kann man etwas dagegen tun? Das Image puffern oder was weiss ich? Oder die Form eben erst anzeigen lassen, wenn das Image fertig geladen ist und sofort mit angezeigt werden kann?

MfG Lefko.

Nicolai1234 8. Apr 2004 16:24

Re: Form erst anzeigen, wenn Image geladen ist?
 
Selber kann ich dir da nicht helfen, aber dieses Tutorial zum Thema Splash-Screnn könnte helfen.
Im zweiten Abschnitt geht es darum zu erkennen, wann die Vorbereitungen zum Start abgeschlossen sind. Schau es dir einfach mal an!!

Lefko 8. Apr 2004 17:47

Re: Form erst anzeigen, wenn Image geladen ist?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Naja, das hilft mir leider nicht viel weiter (glaube ich zumindest :roll:) weil es ja nicht um das Erstellen der Form1 geht, nach dem die Form auch angezeigt werden soll, sondern um das Laden des Images AUF der Form1 NACH dem Erstellen der Form1... darauf habe ich ja aus der project-Datei keinen Zugriff (oder?)

MfG Lefko

Bernhard Geyer 8. Apr 2004 18:01

Re: Form erst anzeigen, wenn Image geladen ist?
 
Probier mal das:
Code:
  HiddenImg: TImage; (Beinhaltet geladenes JPG),
  DisplayImg: TImage; (Anzuzeigendes Image)

begin
  DisplayImg.Canvas.StretchDraw(Rect(0, 0, DisplayImg.Width, DisplayImg.Height), HiddenImg.Picture.Graphic);
end
Damit wird das Image gestreched auf das andere Image "gezeichnet" und das Formular wird erst angezeigt wenn diese aktion Fertig ist. Dann kann das Formular das Image ohne verzögerung darstellen, da keine Stretch-Operationen mehr nötig sind.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:08 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