Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Grafiken vorladen (https://www.delphipraxis.net/84853-grafiken-vorladen.html)

Magier 22. Jan 2007 20:56


Grafiken vorladen
 
Guten Abend,

nach langer Programmier Pause bin ich wieder zu Delphi zurück gekehrt. Also bin noch ein wenig eingerostet..

Nun zu meiner Frage:
ich habe ein programm wo immer wieder 2 Grafiken nacheinander geladen werden. Und jedesmal flackert das ganze ein bisschen weil der die Grafiken noch laden muss. Kann man die grafiken irgendwie vorladen dass die direkt anzeigt werden und ohne dass das flackert?

Danke schon mal für eure Antworten.

MFG
Magier

inherited 22. Jan 2007 20:58

Re: Grafiken vorladen
 
Woher lädst du die Grafiken denn? Wenn es schnelle Intervalle sind, kann DoubleBuffered helfen. Wenn du es aus Dateien lädst, hilft es wenn du die Bilder vor Programmstart in eine Imageliste packst oder am Anfang des Programms die Bilder in TBitmap s lädst.

Namenloser 22. Jan 2007 21:01

Re: Grafiken vorladen
 
Was genau verstehst du unter "laden"?
Aus einer Datei laden?
Oder aus einer ressource?
Oder wie?

Also wenn es flackert würde ich erstmal Doublebuffered auf true stellen, und wenn's dann nicht klappt würde ich auf ein eigenes Offscreenbitmap zeichnen. Es kann aber auch sein, dass die Grafiken eigentlich größer/kleiner sind als das TImage, und dann jedesmal beim Zeichnen gestretcht werden. In diesem fall, würde ich die grafiken einmal beim programmstart zurechtstretchen, und dann das gestretchte bild ins image laden.

Magier 22. Jan 2007 21:42

Re: Grafiken vorladen
 
ja es waren jpeg dateien die geladen werden. habe es mal mit dem doublebuffered sowie dem laden der dateien beim programmstart in ein TJpegImage Objekt ausprobiert und das funzt gut.

Vielen Dank schon mal an euch. aber kann mir vllt noch jemand erklären was double buffered macht?

MFG
Magier

PS: die Grafiken waren schon alle in der Größe der Image Komponente, da musste nichts rescaled werden.

Hador 22. Jan 2007 22:36

Re: Grafiken vorladen
 
Wenn Doublebufferd auf True steht, wird das Formular zuerst im Arbeitsspeicher neu gezeichnet und dann als ganzes erst auf den Bildschirm gebracht. Ansonsten werden alle Komponenten einzeln gezeichnet, was ggf. ein Flackern bewirkt.

EDIT:
Übrigends erster Satz der OH:
"Die Eigenschaft DoubleBuffered bestimmt, ob das Bild des Steuerelements direkt in das Fenster gerendert oder zunächst in ein Speicher-Bitmap gezeichnet wird."

Magier 22. Jan 2007 22:43

Re: Grafiken vorladen
 
danke für deine antwort. :)

ich bin gerade noch etwas zu sehr auf php kurs, und da gibs ja keine einheitliche Online Hilfe, und im forum habe ich schon gesucht.

MFG und Gute nacht

Magier

Hador 24. Jan 2007 00:03

Re: Grafiken vorladen
 
Für php gibts auch sowas:
php_manual_de.chm

DeadMatt 24. Jan 2007 07:11

Re: Grafiken vorladen
 
Koenntest natuerlich auch eine dll erstellen und die Bilder dort reinladen ;) koennte vll auch helfen.
falls das alles nicht geh koenntest deinen source ja mal zeigen damit man schauen kann woran das liegt

inherited 24. Jan 2007 14:22

Re: Grafiken vorladen
 
Zitat:

Zitat von DeadMatt
Koenntest natuerlich auch eine dll erstellen und die Bilder dort reinladen ;) koennte vll auch helfen.
falls das alles nicht geh koenntest deinen source ja mal zeigen damit man schauen kann woran das liegt

:arrow:
Zitat:

Zitat von Hador
Wenn Doublebufferd auf True steht, wird das Formular zuerst im Arbeitsspeicher neu gezeichnet und dann als ganzes erst auf den Bildschirm gebracht. Ansonsten werden alle Komponenten einzeln gezeichnet, was ggf. ein Flackern bewirkt.

EDIT:
Übrigends erster Satz der OH:
"Die Eigenschaft DoubleBuffered bestimmt, ob das Bild des Steuerelements direkt in das Fenster gerendert oder zunächst in ein Speicher-Bitmap gezeichnet wird."

Das heisst, es funktioniert bereits. Und wozu sollte er die Bilder in eine DLL packen? Da ist es wesentlich sinnvoller, diese als Rescourcen einzubinden


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 Uhr.

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