mehrere bilder mit forschleife anzeigen lassen ! WIE ?
-
hallo !
ich möchte nacheinander mehrere bilder anzeigen lassen solange etwas läuft . dies soll alles in einer for-schleife geschehen . es sind 15 bilder .
so sieht das aus aber es klappt nicht so ganz
das letzte bild wird nur am ende angezeigt ! hilfe ! bitte ! 
for (int j = 0; j <= 15; j++) { ImageList1->GetBitmap(j,Image1->Picture->Bitmap); }
-
Hallo,
Du solltest den Bildern schon etwas Zeit geben zu erscheinen. Also evtl. ein Sleep() mit einer passenden Zeit einfügen. Evtl. ist auch noch ein ProcessMessages erforderlich.
-
Hallo
/Edit : falsch verstanden.
bis bald
akari
-
ich habe nun sleep und processmessages eingebaut . jedoch zeigt er anschließend nur das bild nummer 0 und kein bild dazwischen was ja durch die schleife mehrere sein sollten !
ich verstehe das nicht
tut mir leid ! vielleicht liegts an der hitze hier..for (int j = 0; j <= 15; j++) { ImageList1->GetBitmap(j,Image1->Picture->Bitmap); Sleep(100); Application->ProcessMessages(); }
-
Hallo
for (int j = 0; j <= 15; j++) { ImageList1->GetBitmap(j,Image1->Picture->Bitmap); Sleep(100); Image1->Update(); Application->ProcessMessages(); }Vielleicht solltest du das ganze besser in einen Timer oder gar Thread auslagern, um dein Programm damit nicht zu blokieren.
bis bald
akari
-
hm , das hat den gleichen effekt wie vorher

gibt es denn eine möglichkeit gifs in das projekt zu kopieren und dann anzeigen zu lassen ? vielleicht wäre das ja besser ?
-
//abfolge von Bildern.. AnsiString a="monkey"; //name meiner .bmp´s int b=1; AnsiString c=".bmp"; AnsiString d=a+b+c; //Datei = name+nummer+dateiendung ------------ Bsp: monkey1.bmp (b++;) monkey2.bmp ... ... -------------------------------- Timer Objekt: Image1->Picture->LoadFromFile(d); b++;Vieleicht hilft dir das...
Ich weiß einiege von euch werden sich die Haare raufen aber so funktioniert es
und ich bin glücklich^^
-
sorry ich hab im timer objekt das hier vergessen...
komm an erste stelle..AnsiString d=a+b+c;und wenn du willst das die animation immer wieder durchläuft...
[code]
if(b==7)//Je nachdem wieviele Bidler du hast..
{
b=1;
}
else
{
Image1->Picture->LoadFromFile(d);
b++;
}