Autor Beitrag
MarioL
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23

Win XP, Win 7
Delphi 6
BeitragVerfasst: So 26.06.05 18:07 
Kann man das laden von einem 6 MPixel-JPG in ein TImage beschleunigen?
Mit LoadFromFile dauert es ca. 1 bis 2 Sekunden (1 GHz-PC), würde das gern irgendwie beschleunigen, weis aber nicht wie.

MfG Mario
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: So 26.06.05 18:39 
Moin!

user profile iconMarioL hat folgendes geschrieben:
Kann man das laden von einem 6 MPixel-JPG in ein TImage beschleunigen?
Mit LoadFromFile dauert es ca. 1 bis 2 Sekunden (1 GHz-PC

Ich halte das für "normal", man verbessere mich, falls nicht... :wink:

cu
Narses
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Mo 27.06.05 08:16 
Also ich finde das auch nicht unbedingt langsam. Aber ja es gibt durchaus noch verschiedene Möglichkeiten das zu beschleunigen. Das hat dann aber immer einen Qualitätsverlust zur Folge.

Du kannst das dann auch nicht mehr direkt in das TImage laden. Du müsstest dann ein Temporäres JPEG erstellen, einstellungen vornehmen, Bild laden und anschließend auf das Image zuweisen. In etwa so.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
uses
   ..., Jpeg;

implementation

procedure TForm1.Button1Click(Sender: TObject);
var
  Tmp: TJPEGImage;
begin
  Tmp := TJPEGImage.Create;
  try
    Tmp.Performance := jpBestSpeed;
    Tmp.Scale := jsQuarter;


    Tmp.LoadFromFile(Dateiname);

    Image1.Picture.Bitmap.Assign (Tmp);
  finally
    Tmp.Free
  end;
end;

An den hervorgehobenen Zeilen kannst du verschiedene Einstellungen vornehmen die sich unter anderem auf die Geschwindigkeit auswirken. Näheres dazu in der Delphihilfe. Evtl solltest du dir auch noch die Eigenschaften ProgressiveDisplay und Smoothing ansehen.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 27.06.05 08:45 
Wenn du das schnelle Laden für ne Slideshow o.ä. brauchst, dann lad das nächste anzuzeigende Bild im voraus, als schon dann, wenn der Nutzer ein bild betrachtet und nicht erst dann, wenn er das nächste Bild sehen möchte.

_________________
We are, we were and will not be.