Mostrar Imagem

09/03/2006

0

Tenho uma imagem em um form. A altura (heigth) normal desse image é 200. Porém, quando o form ativa, a altura fica em 2 e, com um timer, vou aumentando gradativamente a altura da figura image1.heigth := image1.heigth + 2) para que ela vá aparecendo aos poucos.
Funcionar funciona, mas a cada passada do timer, a imagem faz uma espécie de piscada na tela, ficando ruim para visualização.
Pergunto: há algum outro meio de ir aumentando a imagem gradativamente sem esse inconveniente.

Obrigado


Valdirdill

Valdirdill

Responder

Posts

10/03/2006

Ermindo

olá, vc poderia trabalhar em cima do incremento 2 ou do tempo do timer.

obs: nao esqueça de dar um application.ProcessMessages; depois do
image1.heigth := image1.heigth + 2;


Responder

10/03/2006

Adriano Santos

Talvez usar um Update também ajude.

FormX.Update;

ou somente

Update;


Responder

10/03/2006

Martins

Galera, posso meter minha colher?

Seguinte, sei q todos deram sugestões para resolução do problema e eu serei mais um a dar uma sugestão q pode servir para seu problema, sua imagem está em um TImage?

Muitas vezes colocamos imagens em forms e as mesmas apresentam umas piscadas que nos deixam um pouco irritados, geralmente quando se trabalha com o componente TImage, para evitar essas piscadas, usa-se geralmente o código abaixo abaixo, lembrando que você pode usá-lo no Form também OK!:

Image1.DoubleBuffered:=true;


Se a imagem foi desenhada no Form com canvas ou algo assim.

Form1.DouBleBuffered:=true;



Boa sorte companheiro.


Responder

10/03/2006

Valdirdill

[quote=´Martins´]Galera, posso meter minha colher?

Image1.DoubleBuffered:=true;


Acho que o componente TImage não tem essa propriedade DoubleBuffered.
Image1.DoubleBuffered:=true não dá certo.


Responder

10/03/2006

Martins

[quote:8acad15ef6=´Martins´]Galera, posso meter minha colher?
Image1.DoubleBuffered:=true;
Acho que o componente TImage não tem essa propriedade DoubleBuffered. Image1.DoubleBuffered:=true não dá certo.


verdade, perdo-e o engano, então coloque no OnCreate do seu Form.

  Self.DoubleBuffered := True;


Esse código deve servir para vc.

Qualquer coisa, retorne no fórum.

Boa sorte!!


Responder

10/03/2006

Valdirdill

[quote:d04d07a2ca=´valdirdill´][quote:d04d07a2ca=´Martins´]Galera, posso meter minha colher?
Image1.DoubleBuffered:=true;
Acho que o componente TImage não tem essa propriedade DoubleBuffered. Image1.DoubleBuffered:=true não dá certo.


verdade, perdo-e o engano, então coloque no OnCreate do seu Form.

  Self.DoubleBuffered := True;


Esse código deve servir para vc.

Qualquer coisa, retorne no fórum.

Boa sorte!![/quote:d04d07a2ca]

Obrigado, mas não funcionou. O comando executa, mas a piscada continua. Será que não é poissível fazer isso que eu preciso utilizando o canvas?
Tipo para pintar uma imagem inteira eu uso image1.Canvas.Draw. Será que não tem algo parecido com isso para pintar a imagem aos pedaços?
Obrigado.


Responder

10/03/2006

Aroldo Zanela

Colega,

Com a dica do Martins aqui funcionou sem dar ´flick´. Teste em outra máquina para verificar uma possível insuficiência de placa de vídeo.


Responder

10/03/2006

Martins

[quote:911b24997e=´Aroldo Zanela´]Colega,

Com a dica do Martins aqui funcionou sem dar ´flick´. Teste em outra máquina para verificar uma possível insuficiência de placa de vídeo.[/quote:911b24997e]

Pedi para um colega meu testar na máquina dele e ele colocou um TImage q preencheu toda a área livre do form e não teve problemas de flicks depois de usar a linha.

Self.DoubleBuffered := True;


Valew!!!


Responder

29/08/2006

Vitor Rubio

sempre que eu uso doublebuffered, as piscadas diminuem, e ficam mais espaçadas, mas não somem completamente...

não existe um triplebuffered?

meu problema é ao arrastar um timage por cima de outro, dá flick.


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar