Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Anwendung ruckelt beim Vergrößern/Verkleinern

  Alt 26. Jun 2016, 03:34
Das ständige Laden eines JPEG aus dem Stream in GetMaximumColumnsAndRows kann man sich durch das Cachen der Werte (die werden sich zur Laufzeit nicht mehr verändern) schenken. Einmal reicht.

Das ständige Laden der Grafiken als JPEG ist auch langsamer, als wenn man sich die Bilder beim ersten Zugriff als Bitmap merkt und dann immer dieses gecachte Bitmap verwendet.

Erstelle dir ein Surrogate (Stellvertreter) für die Bilder. Der Konstruktor erhält z.B. den Dateinamen. Beim ersten Zugriff wird das Bild aus der datei geladen und intern als Bitmap gespeichert. Danach erfolgt jeder weitere Zugriff direkt auf das Bitmap.

Den Surrogate leitet man von TPersistent ab und überschreibt die virtuelle Methode AssignTo .

Zum Zeichnen braucht es dann nur noch
Delphi-Quellcode:
img := TBitmap.Create;

img.Assign( Surrogates[i] ); // temp. Bitmap mit dem Surrogate füllen
// Zeichnen von img
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat