[Delphi] TImage: animatie "flikkert"

Pagina: 1
Acties:

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 17:53

spaceboy

Op grote hoogte

Topicstarter
Nog 1 Delphi-vraagje. Ik heb een form-based applicatie waar ik met een image een kleine "animatie" wil maken. Zie plaatje:

Afbeeldingslocatie: http://www.euronet.nl/users/tcls/temp/mmb.jpg

Dat mannetje wijst de knop met de focus aan. Dit werkt prima, maar het probleem is dat het beeld af en toe licht flikkert. Het rood-omcirkelde gedeelte zijn nu 6 TImage componentjes met elk een andere stand van de arm.

De twee oplossingen die ik heb geprobeerd zijn:

1) Alle 6 de TImages op VISIBLE:=FALSE zetten behalve degene waar de focus op ligt (dus bijvoorbeeld bij button1 alleen TImage1 op VISIBLE:=TRUE zetten).

2) Alle 6 de TImages op VISIBLE:=TRUE laten staan en met TImage.BringToFront de geselecteerde tonen.

Beide oplossingen geven een flikkering in het beeld als je snel van focus verandert. Is hier een oplossing voor?

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


  • Twilight Burn
  • Registratie: Juni 2000
  • Laatst online: 22:41
Al eens geprobeerd om maar 1 TImage te nemen, en daar de hele tijd een nieuw plaatje op te tekenen?

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 17:53

spaceboy

Op grote hoogte

Topicstarter
Twilight Burn schreef op 05 October 2003 @ 13:22:
Al eens geprobeerd om maar 1 TImage te nemen, en daar de hele tijd een nieuw plaatje op te tekenen?
Eh heel even geprobeerd, maar het probleem is dat je dan toch steeds een LoadFromFile ofzo moet doen? Om de nieuwe arm.bmp in te lezen zeg maar. Dat leek me erg langzaam, of is er een andere manier om er een nieuw plaatje op te "laden"?

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

C++:
1
Form1->DoubleBuffered = true;

Professionele website nodig?


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Het Form op DoubleBuffer := True; zetten.

We adore chaos because we like to restore order - M.C. Escher


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 00:12

Tomatoman

Fulltime prutser

Probeer eens of het wat uitmaakt of je de DoubleBuffered property van je Form op True zet.

Nog even een tip: multimedia is gewoon één woord in het Engels. Die tweede M hoeft geen hoofdletter te zijn.

Een goede grap mag vrienden kosten.


  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 17:53

spaceboy

Op grote hoogte

Topicstarter
JA! Helemaal top! Drie mensen tegelijkertijd met hetzelfde antwoord, maar het werkt!!

Thanks!!!
(p.s. Ook bedankt voor die MultiMedia tip... nemen we mee) ;)

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 00:12

Tomatoman

Fulltime prutser

spaceboy schreef op 05 oktober 2003 @ 13:25:
[...]

Eh heel even geprobeerd, maar het probleem is dat je dan toch steeds een LoadFromFile ofzo moet doen? Om de nieuwe arm.bmp in te lezen zeg maar. Dat leek me erg langzaam, of is er een andere manier om er een nieuw plaatje op te "laden"?
Als je zes verschillende TBitmaps maakt (die niet op het scherm zichtbaar zijn), hoef je alleen maar Image.Picture.Bitmap.Handle te veranderen in de Handle van de betreffende bitmap.

Een goede grap mag vrienden kosten.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

spaceboy schreef op 05 October 2003 @ 13:32:
JA! Helemaal top! Drie mensen tegelijkertijd met hetzelfde antwoord, maar het werkt!!
Heeft er iets mee van doen dat we 'm 2~3 keer per week beantwoorden :z ;)

Professionele website nodig?

Pagina: 1