Entwickler-Ecke
Multimedia / Grafik - diashow
talben - Do 30.01.03 12:43
Titel: diashow
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 - 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 - 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.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!