Animazione con bitmap

Moderator: Enrico Maria Giordano

Post Reply
User avatar
Pier Luigi
Posts: 58
Joined: Fri Oct 07, 2005 6:30 am
Location: Rome - Italy

Animazione con bitmap

Post by Pier Luigi »

In un programma ho inserito una breve animazione utilizzando una serie di bitmap unitamente alla funzione SetBmp. Funziona egregiamente, ma durante l'animazione, l'immagine "sfarfalla", "lampeggia" (non so come definirla). E' possibile eliminare questo fenomeno?

Grazie.
Pier Luigi
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Pier,

Are you using XP themes ? Are the images painted transparently ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Pier Luigi
Posts: 58
Joined: Fri Oct 07, 2005 6:30 am
Location: Rome - Italy

Post by Pier Luigi »

Yes, I use XP themes and the image is painted transparently.

Pier Luigi
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Pier,

I guess that you mean "flickering". If yes, then Class TBitmap already uses "double buffer" painting technique to avoid the flickering.

Please check if your source\classes\bitmap.prg file contains these lines:

Code: Select all

METHOD Paint() CLASS TBitmap

   local aInfo := ::DispBegin()
   ...
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Dear Enrico,

Your mail server has blocked ours again:
<e.m.giordano@alice.it>:
85.33.2.53 does not like recipient.
Remote host said: 550 5.7.1 213.149.226.3 has been blocked by abuseat
Giving up on 85.33.2.53.

so the forums can't notify you again. You could get a new gmail account
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Pier Luigi
Posts: 58
Joined: Fri Oct 07, 2005 6:30 am
Location: Rome - Italy

Post by Pier Luigi »

Antonio,

It is ok! I used one old version of Bitmap class :oops:

One question:

I would want the resize of a bitmap.
Can I use the function ::DispBegin() with WndSetSize() to avoid the "flickering" ?

For example:

aInfo := oBmp:DispBegin()
WndSetSize( oBmp:hWnd, nWidth, nHeight, .t. )
...

Regards
Pier Luigi
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Pier,

The double buffer painting is only required at the Paint() method. If you resize the control, it should not flick
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply