AGB  ·  Datenschutz  ·  Impressum  







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

Grafiken vorladen

Ein Thema von Magier · begonnen am 22. Jan 2007 · letzter Beitrag vom 24. Jan 2007
Antwort Antwort
Magier

Registriert seit: 2. Okt 2004
Ort: Bergisch Gladbach
39 Beiträge
 
Delphi 7 Personal
 
#1

Grafiken vorladen

  Alt 22. Jan 2007, 20:56
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
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Grafiken vorladen

  Alt 22. Jan 2007, 20:58
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.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Grafiken vorladen

  Alt 22. Jan 2007, 21:01
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.
  Mit Zitat antworten Zitat
Magier

Registriert seit: 2. Okt 2004
Ort: Bergisch Gladbach
39 Beiträge
 
Delphi 7 Personal
 
#4

Re: Grafiken vorladen

  Alt 22. Jan 2007, 21:42
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.
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Grafiken vorladen

  Alt 22. Jan 2007, 22:36
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."
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Magier

Registriert seit: 2. Okt 2004
Ort: Bergisch Gladbach
39 Beiträge
 
Delphi 7 Personal
 
#6

Re: Grafiken vorladen

  Alt 22. Jan 2007, 22:43
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
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Grafiken vorladen

  Alt 24. Jan 2007, 00:03
Für php gibts auch sowas:
php_manual_de.chm
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
DeadMatt

Registriert seit: 11. Jan 2007
32 Beiträge
 
#8

Re: Grafiken vorladen

  Alt 24. Jan 2007, 07:11
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
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Grafiken vorladen

  Alt 24. Jan 2007, 14:22
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

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
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  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 00:02 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