Avatar billede skovjuul Nybegynder
11. juli 2007 - 03:24 Der er 13 kommentarer og
1 løsning

Noget ala en screensaver

Hola

Er der nogen der har noget seudo-kode eller lign til følgende projekt:
I mit program vil jeg gerne give brugeren mulighed for at trykke f.eks. F8 og så skal der starte et lille slideshow med billleder som brugeren selv har valgt. Dette kan gøres ved at billederne ligger i et fast bibliotek (for nemheds skyld). Der skal være mulighed for et dynamisk antal billeder og måske mulighed for at have forskellige typer overgange mellem billederne (ala slide til den ene side / billedet bliver opløst i pixels etc).
Hvordan vælger gør jeg så slideshowet fylder hele skærmen og at det stopper igen ved musebevægelse?

Er ovenstående nemt eller et helt projekt for sig selv?

Takker for hjælpen
Jesper

(Hvis det viser sig at være et voldsomt projekt laver jeg en ny tråd med lidt flere point)
Avatar billede kfz Nybegynder
12. juli 2007 - 02:10 #1
det eneste der er noget arbejde i, er at få lavet overgangene mellem de forskellige billeder. resten er lige til.

en form der fylder hele skærmen uden titellinje, med en TImage på. Denne form vises kun ved tryk på F8 på den aktive form, eks. OnKeyDown.

formen(den med billederne på) lukkes igen med OnMouseMove.

skiftet mellem billederne kan styres af en TTimer. i OnTimer bruges image1.image.loadfromfile(filnavn);
Avatar billede skovjuul Nybegynder
12. juli 2007 - 11:44 #2
Hvordan får jeg filnavnene for de filer der ligger i en pågældende mappe? Der kan jo ligge x antal alt efter hvor mange billeder man ønsker vist?

Har du et link eller andet til hvordan man kunne lave overgangene?

Tak for hjælpen og smid et svar
Jesper
Avatar billede kfz Nybegynder
12. juli 2007 - 23:44 #3
er der nogen speciel extension du vil bruge f.eks. jpg, bmp osv.?
Avatar billede skovjuul Nybegynder
13. juli 2007 - 02:06 #4
Nå, den fik åbenbart ikke gemt min sidste post. Men jeg fandt nogle andre tråde på forummet mht. at hælde filnavnene ind i en liste.

Som jeg har den nu tager den rub og stub, både .bmp og .jpg :)

procedure TfrmPic.ScreenTimerTimer(Sender: TObject);
begin
  ScreenTimer.Enabled := false;
  ScreenTimer.Interval := 5000;  //muligvis som option.
  if ((KeepGoing) and (iNmbPics>0)) then begin
    if PicCounter >= iNmbPics then
      PicCounter := 0;
    imgSaver.Picture.LoadFromFile(ReklameList.Strings[PicCounter]);
    inc(PicCounter,1);
    ScreenTimer.Enabled := true;
  end;
end;

Skal jeg egentlig gøre noget med TImage eller kan jeg bare bruge LoadFromFile oven i hinanden?

Men som jeg skrev i den manglende post så smid et svar så får du nogle point.

Tak for hjælpen
Jesper
Avatar billede kfz Nybegynder
13. juli 2007 - 10:47 #5
ang. overgange, så skal du nok have 2 TImage, hvor du loader det næste billede ind i den øverste, Selve overgangene kan laves ved at ændre på den øverste TImage's position, men ting med at billedet bliver opløst i pixels, er lidt mere avanceret, du skal self. lave en procedure til det.
skal se om jeg kan finde på noget.
Avatar billede kfz Nybegynder
13. juli 2007 - 10:48 #6
kan se at exp ikke fik fat i min foregående kommentar.

Det ser fornuftigt ud, og fornuftigt at lave timerens interval en option.
Avatar billede rekun Nybegynder
13. juli 2007 - 14:12 #7
angående den med opløsning, findes der en meget simpel løsning.

istedet for at have 2 Timage så brug 2 forms med hver sin Timage.
sæt så en timer på formen, giv den et interval på 1 og skriv denne kode;

alphablend := true;
if alphablendvalue = 0 then
//load næste billed og disablen timeren
else
alphablendvalue := alphablendvalue - 1;
Avatar billede skovjuul Nybegynder
14. juli 2007 - 10:41 #8
tak for idéen rekun, men kunne ikke rigtig få det til at spille... Enten fadede den ind og ud oven på min hovedform eller også fadede den til baggrundsfarven på den anden form og først til sidste svuppede billedet frem. (lidt dårligt beskrevet, men kønt var det ikke :)
Avatar billede kfz Nybegynder
14. juli 2007 - 16:08 #9
skovjuul - jeg ville personligt bruge 2 TImage og få det "nye" billede til at komme ind fra kanten, ved at ændre på den øverste TImage's position.
Avatar billede skovjuul Nybegynder
14. juli 2007 - 19:29 #10
Nu er jeg ikke lige ved mit udviklingsmiljø, men kan jeg bruge TImage.bringtofront eller lign.?
Avatar billede kfz Nybegynder
15. juli 2007 - 04:10 #11
ja lige præcis, eller også overfører du billedet fra den forreste TImage til den bagerste, når først det "nye" billede er på den endelige position.
Avatar billede Slettet bruger
13. august 2007 - 14:20 #12
Hej, jeg har for nyligt siddet og rodet med en screensaver der fader billeder ind og ud. Hvis du vil have koden, så sig til.
Avatar billede skovjuul Nybegynder
13. august 2007 - 15:05 #13
Hej formatc

Det ville da være lækkert da jeg ikke havde det store held med den del af projektet :)

Hvis det er for langt til at poste her kan du sende det til skovjuul(at)gmail.com

Tak for det
Jesper
Avatar billede Slettet bruger
13. august 2007 - 15:42 #14
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester