AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bilder schneller laden
Thema durchsuchen
Ansicht
Themen-Optionen

Bilder schneller laden

Ein Thema von Neutral General · begonnen am 14. Nov 2008 · letzter Beitrag vom 15. Nov 2008
 
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Bilder schneller laden

  Alt 14. Nov 2008, 18:52
Zitat von Luckie:
Ich denke für das erste Bild musst du die Ladezeit in kaufnehmen. Die folgenden Bilder kannst du dann ja in MemoryStrams laden, während das erste noch angezeigt wird*. Ein anderer Faktor dürfte die Darstellung auf der Komponente sein. Was passiert denn, wenn du während des Laden die Eigenschaft Visisble der Komponente auf False setzt oder wenn du das Bild erst in ein Bitmap im Speicher lädst und dann auf den Canvas der Komponete blittest?


') Da musst du aber mal testen, ob MemorySreams und Lo0adfromStream was bringen.
Also ich habe mir extra ein eigenes TImageEx = class(TCustomControl) gebaut. In erster Linie um Bilder propertional gestretcht anzeigen lassen zu können. Ich mache es im Moment so:

Delphi-Quellcode:
TImageEx = class(TCustomControl)
private
  FBitmap: TBitmap;
  FPicture: TPicture;
  // etc
published
  property Picture: TPicture read FPicture write SetPicture;
  // etc
end;
Und TPicture hat ein OnChange Event, indem ich folgendes tue:

Delphi-Quellcode:
procedure TImageEx.PicChanged(Sender: TObject);
begin
  with FBitmap do
  begin
    Width := FPicture.Graphic.Width;
    Height := FPicture.Graphic.Height;
    Canvas.Draw(0,0,FPicture.Graphic);
  end;
  Repaint;
end;
Im OnPaint meiner Komponente blitte ich dann mein Bitmap (gestretcht oder/und zentriert, oder....) auf den DC meiner Komponente.

Das mit dem Visible auf false setzen hab ich nicht so ganz verstanden, bzw was wäre der Nutzen?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
 


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 08:01 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