Mudanças dinâmicas de legendas ou imagens podem frequentemente ser vistas em filmes ou TV. Ao produzir documentos de apresentação multimídia, como software de ensino multimídia ou publicidade, muitas vezes são necessárias alterações dinâmicas de imagens e textos. Como uma poderosa ferramenta de desenvolvimento para software Windows, o VB6.0 tem amplas perspectivas de aplicação em programação multimídia. Este artigo discute o uso de temporizadores VB6.0 combinados com funções da API do Windows para obter efeitos especiais, como dimensionamento dinâmico e esmaecimento de imagens ou texto.
1. Método de programação para obter dimensionamento dinâmico e efeitos de fade-out de gráficos e texto
1. Interface do programa
Nomeie o formulário como Form1 e defina sua propriedade Windowstate como 2. Defina os seguintes controles e propriedades no formulário Form1: um controle de rótulo Label1, cujo backcolor é igual ao backcolor do form1 é 0 e Autosize é True; Um controle de imagem image1, seu Stratch e Visible são ambos True; Dois controles de caixa de imagem Picture1 e Picture2, a propriedade Visible Picture1 é False e Picture2 é True; a propriedade AutoRedraw Picture1 é True e a propriedade ScaleModel é ambas Pixels; Três controles de temporizador Timer1, Timer2 e Tirner3; array de controle de botão de comando cmd(0),...,Cmd(4), cujos atributos de legenda são: "Text Zoom", "Picture Zoom", "Text" Hide," "Picture Ocultar" e "Sair".
2. Dimensionamento dinâmico de texto
Alterando regularmente a propriedade Tamanho do texto por meio do controle do temporizador do VB6.0, o efeito do texto sendo ampliado ou reduzido dinamicamente pode ser alcançado. No programa, o tamanho do texto do atributo caption do rótulo Label1 é controlado através do processo de sintonização do timer1. O evento cmd_click acionado por cmd(0) aciona o processo timer1_time, que controla a maneira como o texto muda por meio de uma variável lógica 1(0) (elemento da matriz Quando 1(0)=true, a fonte é ampliada dinamicamente e quando). 1(0)=false Diminuir as fontes dinamicamente.
3. Dimensionamento dinâmico de gráficos
Defina a propriedade stretch do controle de imagem image1 como true, para que o tamanho da imagem no controle mude conforme o tamanho do controle de imagem muda. Ao alterar regularmente o tamanho do controle da imagem por meio do processo de sintonização do timer2, o efeito de dimensionamento dinâmico da imagem é alcançado. O evento cmd_click acionado por cmd(1) irá acionar o processo timer2_time, que controla a forma como a imagem muda através da variável lógica 1(1). Quando 1(1)=true, ele controla a ampliação dinâmica da imagem. (1)=false, controla a redução dinâmica da imagem.
4. Efeito de fade-in e fade-out do texto
Pegue várias palavras da string como o valor da legenda do rótulo Label1. Se o número de palavras interceptadas da string aumentar (até ser igual ao número total de palavras na string), o efeito de desbotamento do texto será alcançado e se; o número de palavras interceptadas diminui (a partir do número de palavras na string). O número total de caracteres na string é reduzido para 0) e o efeito de desbotamento do texto é alcançado. Este efeito é conseguido alterando regularmente o número de palavras interceptadas ao longo do tempo: processo do temporizador3. Acionado por cmd(2). O evento md_click aciona o processo timer3_time e controla a maneira como o texto muda por meio da variável lógica 1(2) Quando 1(2)=true, o texto desaparece, e quando 1(2)=false, o texto desaparece. .
5. O efeito fade-in e fade-out dos gráficos
Isso é conseguido usando a função BitBlt da API do Windows para copiar imagens. O uso da função BitBlt é:
O significado de cada parâmetro é: hDestDC e hSrcDC representam o identificador da tabela de descrição do dispositivo de destino e o identificador da tabela de descrição do dispositivo de origem, respectivamente. Isso é para copiar a imagem de hSrcDC para hDestDC. A propriedade hDC do controle Picturellox é o identificador de contexto do dispositivo que queremos usar. x, Y representam a posição do canto superior esquerdo do alvo, nWidth, nHeight representam a largura e a altura do alvo. Ou seja, onde na tabela de contexto do dispositivo de destino a imagem deve ser copiada e qual largura e altura ela deve ser copiada. xsrc e ySrc representam a posição do canto superior esquerdo na imagem de origem, ou seja, onde começar a copiar. O parâmetro DwRop representa um método de desenho e o método de cópia direta é comumente usado. Nesse caso, SRCCOPY é usado.
2. Código do programa para realizar o dimensionamento dinâmico de imagens e textos e efeitos especiais de aumento e desaparecimento gradual
O programa acima foi depurado em ambientes VB6.0 e Windows98/2000.
->