Jump to content
GSForum - Segélyvonal

Delphi ImageList -ek esete a randommal


Guest

Recommended Posts

Guest

Üdv mindenkinek!

 

Lenne egy kérdésem:

 

Van egy imagelist-em, benne képekkel. Namármost ezekbõl nekem több van, számszerint 6 darab, és ezekben egy timer komponensel tekerek a képek között, ami folyamatosan megy körbe, tehát elér a képsor végére és ujrakezdi. És mindegyik imagelist tartalmát egy-egy image komponensben jelenítek meg.

 

éS itt jön a kérdésem:

Azt szeretném, hogy minden programinduláskor, random véletlenszerüen döntse el a progim, hogy az egyes imagelist komponensekben X -edik indexû képrõl induljon a "lejátszás"

 

Tehát például elindul a program, és "kisorsolja" , hogy Te ImageList1 a 4.ik képtõl indulsz, te ImageList2 a 2.-ik képtõl indulsz.. és Így tovább

 

Ha lehet, segítsetek meg kóddal is, köszönöm.

Link to comment
Share on other sites

DonTomika

Üdv!

 

A random függvénnyel tudsz generálni véletlenszámot. (Elõtte hívd meg a Randomize-t). Egyetlen paramétere a max. érték, 0 és ez az érték-1 között fog adni neked egy véletlenszámot. (ezt állítsd be az animáció kezdõértékének)

Link to comment
Share on other sites

Guest

Kösz!

 

Igazábol lenne még egy kérdésem: Régebben megvolt nekem egy mintaforráskód, de elvesztettem. Hogy kell egy imagelist komponens-beli képsorozatot timerrel lejátszani egy image komponensben?

 

Egyáltalán mekkora mmaximális méretû képet lehet eltárolni ebben az ImageList komponensben, mert nekem valami wrong dimension hibaüzit írt ki egyik kép betételekor.

Link to comment
Share on other sites

DonTomika

A Windows Commctl32.dll-jét használja, úgyhogy attól függ az elemek maximális mérete. Konkrét értéket nem tudom mondani, de kis elemek tárolására való.

 

Az animáció:

Az I legyen egy globális változó (pl: Integer), és ezt rakd a timerbe:

 

if I>ImageList1.Count Then I:=0;
ImageList1.Draw(Image1.Picture.Bitmap.Canvas, 0, 0, I);
i:=i+1;

Link to comment
Share on other sites

DonTomika

Szívesen. :D

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...