Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ricci ottadnot

Efeito de mudança de cor

Recommended Posts

ola galernha..

tenhu um problema chato aki..

eh o seguinte..

salve galera

to querendo criar um efeito de fade na cor de um desenho meu..

tipow.. desenhei um quadrado vermelho no form, e qdo eu clicar em um button ele mude a cor gradativamente para o azul..

 

eu fiz a logica seguinte mas o delphi nao me mostra a cor mudando.. soh mostra ela depois do laço:

Obs. to usando isso no evento onPaint

 

Canvas.brush.color := $FF0000; // vermelhoCanvas.rectangle(10,10,110,110);for i := $FF0000 downto $0000FF dobegin   canvas.brush.color := i;   canvas.rectangle(10,10,110,110);   sleep(50);end;

sera q tem algum funçao q faz esse efeito..

me ajudem aew

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola galernha..tenhu um problema chato aki..eh o seguinte..salve galerato querendo criar um efeito de fade na cor de um desenho meu..tipow.. desenhei um quadrado vermelho no form, e qdo eu clicar em um button ele mude a cor gradativamente para o azul..eu fiz a logica seguinte mas o delphi nao me mostra a cor mudando.. soh mostra ela depois do laço:Obs. to usando isso no evento onPaint

Canvas.brush.color := $FF0000; // vermelhoCanvas.rectangle(10,10,110,110);for i := $FF0000 downto $0000FF dobegin   canvas.brush.color := i;   canvas.rectangle(10,10,110,110);   sleep(50);end;
sera q tem algum funçao q faz esse efeito..me ajudem aew
adciona Canvas.REFRESH logo depois da criação dele... apos a mudança de cor devese ATUALIZAR o desneho com a nova cor...so isso resolvera...abrassss

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, eu pegei seu código e adicionei a variável i:tcolor e gostei do efeito...

...com esse código ele só vai mudar de cor

var i:tcolor;beginCanvas.brush.color := $FF0000; // vermelhoCanvas.rectangle(10,10,110,110);for i := $FF0000 downto $0000FF dobegin   canvas.brush.color := i;   canvas.rectangle(10,10,110,110);   sleep(50);   application.ProcessMessages;end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

so uma perguntinha !pq Tcolor?da no mesmo q o integer nao?e no mais o q mais importou ai no q addicionou foi o processmessage!!bem pelo q entendo sim...abrasss

Compartilhar este post


Link para o post
Compartilhar em outros sites
so uma perguntinha !

 

pq Tcolor?

usei o tcolor porque não conhecia essa compatibilidade com o integer....

da no mesmo q o integer nao?

 

name='Pantoja' date='Apr 23 2006, 10:19 AM' post='551739']

e no mais o q mais importou ai no q addicionou foi o processmessage!!

 

 

bem pelo q entendo sim...

 

abrasss

fiz isso para ver alterando a cor aos poucos...achei o efeito legal...^^

...

bom, o que eu acho que ficou errado é que ele ficou mundando de cor o objeto inteiro, quando deveria colorir a coluna de pixels mas num sei exatamente como é...

...vou procurar saber e posto aqui...

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw pelas respostas....

mas...

qual a diferença do Canvas.refresh para o application.ProcessMessage ?

as duas atualizam o formulario ?

Quando você cria um procedimento e o executa, o programa esquece do resto da aplicação, deixando os outros componentes como se tivesse dado pau do programa, (parado de responder), usa-se o application.ProcessMessage para que ele volte a lembrar que não existe só aquela procedure em execução...

...para facilitar faça o seguinte:

crie um loop que você saiba que vai demorar para parar e coloque um botão com um showmessage, faça o loop iniciar e tente clicar no botão, depois coloque o application.ProcessMessage dentro do loop e veja o que acontece....

 

 

 

...é claro que outros saberão explicar melhor que eu, mas o exemplo que eu passei vai dar pra exclarecer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.