quarta-feira, 2 de março de 2011

Visual Basic Tip: Criando efeito de "fade" entre imagens.

Aqueles que baixaram a versão alpha do programa MultiSystem que publiquei semana passada, puderam reparar que na Sidebar as imagens passam em "fade" (ou seja, se sobrepoem translucidamente). Isso eu creio que não vão encontrar em lugar nenhum na Internet, portanto, postarei aqui caso alguém quiser executar o mesmo efeito em algum programa. É de sua conta colocar ou não os créditos da minha autoria do tal "algorítimo".
Para quem não baixou, aí está um print:


Pois bem, eu não usei APIs para tal efeito, usei apenas algumas funções e procedures criadas por mim.

Criando tal efeito


Abra um novo projeto no VB do tipo Standard EXE (pode ser algum existente, desde que não haja conflitos com nomes de variáveis e de objetos) (também pode ser um activex, mas nesse tutorial usaremos apenas EXE).

Nas propriedades do form, defina ScaleMode=vbPixels.

Crie três pictureboxes, ambos com tamanho de 100x80. Nomes: "Picture1", "Picture2" e "resultado". Nas propriedades das pictureboxes, defina o ScaleMode deles para VbPixels e defina AutoRedraw para true.

Crie três images, ambas também com o tamanho de 100x80. Nomes: "Image1", "Image2" e "Image3". Nas propriedades, ative o Stretch.

Insira dois timers, "timer1" e "timer2". Timer1 com intervalo igual a 1 e timer2 com intervalo igual a 2000, este último desabilitado (em outras palavras, enabled=false).

Defina alguma imagem para Image1 e Image2. No exemplo usei duas imagens da pasta Wallpapper localizada em c:/WINDOWS/Web.

No código insira o seguinte:


Explicação:
tRGB é o tipo que irá receber valores RGB.
OLEtoRGB é a função que vai transformar cor OLE (&H00000000FF) em RGB(255,0,0).
CalculateHalf é a função que irá mesclar as cores.


Se quiser, você pode baixar o projeto pronto zipado pelo link: http://ys8hqw.bay.livefilestore.com/y1pJFGceE-n1OZLcKyEAABLEnbOdzOc0vTPhbjwRbIWTyYuGwDypb9B6Rl7KqHPIQdlRohvQejyH564qQuIZtf3MR8o3Ev7-Evi/FormFadeExample.zip?download&psid=1 ou http://cid-b278d5e7a71b5dca.office.live.com/self.aspx/.Documents/FormFadeExample.zip. Ao baixar, descompacte tudo em uma pasta antes de executar o projeto.

É isso, pessoal. Em breve postarei mais dicas e também programas que eu criar. Fiquem atentos!

2 comentários:

jaissom disse...

Muito bom Diego

mas o link esta corrompido ,

mas para quem sabe ja tem os fontes

depois eu vou testar aqui

Diego Silva disse...

Opa.
Barth, teste o segundo link. O primeiro realmente está corrompido aqui, mas o segundo leva para a pasta do projeto.

Postar um comentário