Autor Beitrag
talben
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 30.01.03 12:43 
Hallo!

Versuche ein Programm zu schreiben, das nacheinander Bilder aus einem Ordner anzeigt, bei den Bildern handelt es sich um etwa 2Mb grosse jpgs. Wie lade ich die Bilder möglichst schnell? Wie kann ich sie anzeigen, ohne dass man dazwischen einen schwarzen Bildschirm sieht bis das nächste Bild geladen ist, mit zwei Imagekomponeneten funktioniert das nicht so richtig, sollte ich sie zu Bitmaps konvertieren???

thx greetz chriss.
kampfkoloss23
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 96



BeitragVerfasst: Do 30.01.03 15:06 
Du musst einfach das repaint der Form aussschalten oder
doupplebufferd des images auf true setzen.(beide Möglichkeiten werden
ím Forum erklärt, ich bevorzuge die erste)
Du brauchst keine 2 images.

Warum lädst du sie nicht in nem Timer nacheindander ganz
"normal" mit :

Bitmap1:= TBitmap.Create;
Bitmap1.LoadFromFile('anfang.bmp');
Form1.image1.Canvas.Brush.Bitmap:=Bitmap1;
Form1.image1.Canvas.draw(300,100,Bitmap1);
Form1.image1.Canvas.Brush.Bitmap:= nil;
Bitmap1.Free;

??
Bei mir gibts da keinen scharzen Bildschirm
dauert halt recht lang zu laden. Für eine Diashow wird es
allerdings reichen. Wenn es nicht zu viele sind, kannst du
das laden ganz am Anfang und das freen ganz am schluss
des Programmes machen, dass Spart auch Zeit.
talben Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 30.01.03 19:09 
Titel: re
Danke für die Antwort!
Wenn ich die jpegs in bitmaps konvertiere gehts ohne schwarzen Bildschirm, ist halt nicht so elegant programmiert.

Was ist denn der Unterschied zwischen

image1.picture.graphic:=tbitmap;

und

image1.canvas.brush.bitmap:=tbitmap;

Laden muss ich allerdings bei jedem Schritt, da das Programm automatisch alle Bilder in einem Verzeichnis nacheinander anzeigt, man zuvor also nicht weiss, wie viele es sein werden.

greetz chriss.