Postado por Plinio Cruz em 20 de fevereiro de 2004 na categoria Programação, Tutorial, Visual Basic |
O Visual Basic fornece muitas possibilidades de desenhar gráficos: linhas, curvas, caixas, etc. Geralmente os gráficos são feitos através dos objetos Printer , Form ou Picture . Eles representam a superfície as quais os gráficos podem ser aplicados.
Os métodos para desenhar gráficos que o VB suporta são :
-
Circle – desenha um círculo ou uma elipse.
-
Cls – limpa todos os gráficos.
-
Line – desenha uma linha reta.
-
PaintPicture – desenha o conteúdo de um arquivo gráfico.
-
Point – retorna a cor de um ponto.
-
Print – usado para imprimir.
-
Pset – define a cor de um pixel definido.
As propriedades gráficas que o VB suporta são:
-
AutoRedraw – Determina se o gráfico será automaticamente redesenhado se algo se mover na para sua frente.
-
ClipControls – Determina como o repaint do gráfico será gerenciado.
-
DrawMode – Define a aparência do método gráfico
-
DrawStyle – Define o estilo da linha para saída de um método gráfico.
-
DrawWidth – Define a largura da linha para saída de um método gráfico.
-
FillColor – Define a cor usada para preencher círculos , linhas e caixas.
-
FillStyle – Define o padrão usado para preencher círculos , linhas e caixas.
-
FontTransparent – Determina se a fonte é impressa com o fundo transparente.
-
Palette – Define a imagem contendo a paleta a ser usada para um controle.
-
PaletteMode – Determina qual paleta usar para o controle em um objeto.
-
RightToLeft – Indica a direção de exibição do texto.
-
ScaleHeight – Define a altura de um área.
-
ScaleLeft – Define o valor inicial para a esquerda da área.
-
ScaleTop – Define o valor inicial para o topo da área.
-
ScaleWidth – Define a largura da área.
-
ScaleMode – Define a unidade de escala a ser usada.
Cada método gráfico tem sua saída para um formulário, um picture box ou para o objeto Printer. Para indicar onde você quer desenhar , informe antes do método gráfico o nome do objeto usado. Se você omitir o objeto o VB assume que você quer desenhar no formulário onde o código esta anexado. Ex:
Cada área de desenho tem seu próprio sistema de coordenadas que termina qual unidade aplicar para as coordenadas.
Desenhando Linhas e formas
Podemos desenhar pontos , linhas e formas com os métodos gráficos do VB. Para desenhar uma linha entre duas coordenadas usamos o método Line que tem a seguinte sintaxe:
object.Line [Step] (x1, y1) [Step] - (x2, y2), [color], [B][F]
Onde:
| Parte |
Descrição |
| object |
Indica o objeto a qual o gráfico será aplicado. |
| Step |
Especifica que o ponto inicial das coordenadas é relativo a posição atual do gráfico dada pelas propriedades CurrentX e CurrentY . |
| (x1, y1) |
Valor que indica as coordenadas do ponto inicial para a linha .(A propriedade ScaleMode determina a unidade de medida usada.). Obrigatório. |
| Step |
Indica que o ponto final das coordenadas é relativo para ponto inicial. |
| (x2, y2) |
Valor que indica as coordenadas do ponto final da linha a ser desenhada. |
| color |
Valor que indica a cor usada para desenhar a linha.Você pode usar a função RGB a funcção QBColor |
| B |
Se incluído desenha uma caixa usando as coordenas. |
| F |
Se B for usado F indica que a caixa será preenchida com a mesma cor usada para desenhar a caixa. |
Para desenhar uma linha somente o segundo par de coordenadas é obrigatório e os valores de x e y podem ser inteiros ou fracionários. Exemplo que desenha uma linha inclinada:
Line (500, 500)–(2000, 2000) |
 |
O código abaixo desenha várias linhas de largura diferentes:
Private Sub Form_Click ()
DrawWidth = 1
Line (100, 1000)–(3000, 1000)
DrawWidth = 5
Line (100, 1500)–(3000, 1500)
DrawWidth = 8
Line (100, 2000)–(3000, 2000)
End Sub
|
 |
Desta forma o VB desenha uma linha que inclue o primeiro ponto final , mas não o último ponto. Para desenhar o último ponto podemos usar o método Pset:
PSet [Step] (0, 0)[, color]
Como o primeiro par de coordenadas é opcional , se você omití-lo o VB usa o objeto atual x e y como ponto final. A posição atual pode ser definida pelas propriedades CurrentX e CurrentY. Para desenhar um triângulo podemos usar a conexão com três pontos:
' define a coordenada x do ponto de inicio
CurrentX = 1500
' define a coordenada y do ponto de inicio.
CurrentY = 500
' desenha uma linha para abaixo e a direita do ponto de inicio.
Line -(3000, 2000)
' desenha uma linha para a esquerda do ponto atual
Line -(1500, 2000)
' desenha uma linha para cima e a direita do ponto inicial.
Line -(1500, 500) |
 |
Os métodos Pset , Line e Circle podem usar a palavra chave Setp que define que o local do ponto é relativo ao último ponto desenhado; O VB adiciona os valores de x e y ao último ponto desenhado. Ex:
Line (100, 200)–(150, 250) é igual a Line (100, 200)–Step(50, 50)
Para aplicar cor você usa o argumento color . Para desenhar um linha azul fazemos:
Line (500, 500)–(2000, 2000), RGB(0, 0, 255)
Se você omitir o argumento color a propriedade Forecolor definida será usada como cor.
Para limpar a área de de desenho basta usar o método Cls. A sintaxe é :
[object.]Cls
Trabalhando com escalas
Um dos primeiros conceitos que você deve compreender ao trabalhar com gráficos no VB é o conceito de escala. O tamanho de um objeto ou gráfico na tela depende da unidade de medida que você escolheu para criá-lo. As unidades de medidas mais usadas são : polegadas , centímetros , milímetros e pixels. Além destas medidas o VB suporta outras unidades de medidas que servem para medir o tamanho de um objeto são elas:
Points – 72 points formam uma polegada. Geralmente é usada para fontes de texto.
Twips – Existem 1440 twips em uma polegada. Esta medida fornece mais precisão para medidas do que Points ( 1 twip = 1/20 de um Point) , tornando possível gráficos mais precisos.
Characters – Utiliza twips fixos : 120 twips na horizontal por 240 twips na vertical . Não é muito utilizada.
User – Tipo definido pelo usuário. Uma unidade muito poderosa que você pode usar como uma escala. Você define o número de unidades dentro da área ( altura : de cima até embaixo e largura : da esquerda para a direita).
Junto com esta propriedades a propriedade ScaleMode identifica qual unidade vai ser usada. Desde que você defina a propriedade ScaleMode o VB ajusta as propriedades de tamanho da área para se adequar a seleção definida.
Quando você cria gráficos eles serão criados na área cliente de uma janela, e, em geral você estará usando uma posição x/y dentro desta área para direcionar o VB onde ele vai colocar o gráfico. Os limites da área cliente são definidos pelas propriedades ScaleWidth e ScaleHeight. Para definir as coordenadas superior/esquerda iniciais você usa as propriedades : ScaleTop e ScaleLeft. Isto pode ser útil se você sabe que a equação do seu gráfico somente se aplica a uma área a alguma distância da coordenada original ( x=0 e y=0)
Usando os métodos Gráficos
Se não considerarmos o objeto Print podemos dizer que temos 6 métodos gráficos que já foram mencionados no início deste artigo. A seguir vou dar mais alguns detalhes sobre os mais importantes destes métodos:
Nota: Para testar os códigos de cada exemplo abaixo crie um projeto no VB e no formulário padrão insira um objeto Picture com o nome de Picture1.
- Circle - A sintaxe do método é : objeto.circle (XCenter, YCenter), Radius, Color O código abaixo desenha 20 círculos. Eu estou movendo progressivamente o centro para a direita começando na coordenada X=500
For i = 1 to 2000 Step 100
picture1.circle (i + 500, 1000), 400, vbGreen
Next i
|

|
- Cls – Sintaxe : objeto.Cls Apaga todos os gráficos que foram desenhados no objeto.
Ex: picture1.cls
- Line – A sintaxe é : object.Line [Step] (x1, y1) [Step] - (x2, y2), [color], [B][F] O código abaixo cria 20 linhas verticais posicionadas da esquerda para a direita.
For i = 1 to 1000 Step 100
picture1.line (i+500,500)-(i+500,4000), vbBlue
Next i
|

|
Para desenhar caixas basta incluir um argumento como mostrado no código a seguir:
For i = 1 To 4000 Step 400
Picture1.Line (i + 200, 500)-(i + 400, 1000), vbBlue, BF
Next i
|

|
O argumento BF incluído no final do código diz ao VB para desenhar caixas preenchidas.
- Pset – Sintaxe : objeto.PSet (x, y), QBColor(Cor) Pset é o método mais básico que o VB oferece para desenhar. Usando Pset você pode definir a cor de qualquer ponto dentro de uma área. Por exemplo , o código abaixo obtêm cores e coordenadas aleatórias:
Private Sub Command1_Click() Dim x as integer
Dim y as integer
Dim iColor as Integer
For i = 1 To 1000
’obtem cores aleatórias entre 0 to 15
iColor = (Int(10 * Rnd) + 0)
‘define X de 0 até ScaleWidth
x = (Int((Picture1.ScaleWidth * Rnd) + 0))
‘define Y de 0 até ScaleHeight
y = (Int((Picture1.ScaleHeight * Rnd) + 0))
‘imprime os pontos no picturebox
Picture1.PSet (x, y), QBColor(iColor)
Next i
End Sub |

PictureBox preenchida com os pontos desenhados por Pset.
|
Pset é poderoso , você pode desenhar qualquer coisa com ele. Você só tem que controlar a localização de cada ponto.
Você já percebeu que o ponto forte do VB não são os métodos gráficos. Na realidade eles são muito simples , mas nem tudo esta perdido. Você pode criar gráficos mais sofisticados usando as API´s do Windows.
Percebendo a lacuna a Microsoft criou as DLL´s conhecidas como DirectX que podem ser usadas para obter efeitos gráficos complexos e com bom desempenho. (Vamos falar sobre o DirectX em um outro artigo.)
Para terminar o artigo vou mostrar como você pode criar um projeto no VB para desenha equações matemáticas. Vai ser um projeto simples para lhe dar a idéia de como você pode trabalhar com os métodos aqui descritos. Abaixo temos o formulário do projeto:

Olhando para o formulário acima temos:
- Um controle pictureBox – picture1
- 7 botões de comando (command1,command2,..até command7) . Cada botão irá desenhar o gráfico da função exibida em sua propriedade Caption
O código que esta no formulário é o seguinte :
Option Explicit
Dim i As Integer
Dim x As Single
Dim y As Single
Private Sub Command1_Click()
‘ Desenha y = 4 * sin(x).
Picture1.ForeColor = vbBlue
x = -10
y = 4 * Sin(x)
Picture1.CurrentX = x
Picture1.CurrentY = y
For x = -10 To 10 Step 0.25
y = 4 * Sin(x)
Picture1.Line -(x, y)
Next x
End Sub
Private Sub Command2_Click()
‘ Desenha y = x ^ 3 / 5 – 3 * x + 1.
Picture1.ForeColor = vbYellow
x = -10
y = x ^ 3 / 5 – 3 * x + 1
Picture1.CurrentX = x
Picture1.CurrentY = y
For x = -10 To 10 Step 0.25
y = x ^ 3 / 5 – 3 * x + 1
Picture1.Line -(x, y)
Next x
End Sub
Private Sub Command3_Click()
‘ Desenha y = x^2
Picture1.ForeColor = vbRed
x = -10
y = x ^ 2
Picture1.CurrentX = x
Picture1.CurrentY = y
For x = -10 To 10 Step 0.25
y = x ^ 2
Picture1.Line -(x, y)
Next x
End Sub
Private Sub Command4_Click()
Unload Me
End Sub
Private Sub Command5_Click()
‘ Desenha y = x^3
Picture1.ForeColor = vbCyan
x = -10
y = x ^ 3
Picture1.CurrentX = x
Picture1.CurrentY = y
For x = -10 To 10 Step 0.25
y = x ^ 3
Picture1.Line -(x, y)
Next x
End Sub
Private Sub Command6_Click()
‘ Desenha y = cos(x)
Picture1.ForeColor = vbGreen
x = -10
y = Cos(x)
Picture1.CurrentX = x
Picture1.CurrentY = y
For x = -10 To 10 Step 0.25
y = Cos(x)
Picture1.Line -(x, y)
Next x
End Sub
Private Sub Command7_Click()
‘ desenha y = cos(x)
Picture1.ForeColor = vbGreen
x = 0
y = x * Sqr(1 + x)
Picture1.CurrentX = x
Picture1.CurrentY = y
For x = 0 To 10 Step 1
y = x * Sqr(1 + x)
Picture1.Line -(x, y)
Next x
End Sub
Private Sub Form_Load()
Picture1.Scale (-10, 10)-(10, -10)
‘ desenha o eixo X
Picture1.Line (-10, 0)-(10, 0), , BF
For i = -9 To 9
‘ Picture1.Line (i, -0.5)-(i, 0.5)
Next i
‘ Desenha o eixo Y
Picture1.Line (0, -10)-(0, 10)
For i = -9 To 9
‘ Picture1.Line (-0.5, i)-(0.5, i)
Next i
End Sub |
O funcionamento é bem simples:
- No evento Load do formulário os eixos X e Y são desenhados
- Cada botão desenha o gráfico de uma função usando o método Line em um laço For/Next
O resultado produzido após clicar em todos os botões será:

Fique a vontade para melhorar o código e criar um super programa para desenhar funções matemáticas.
Se você não sabe por onde começar vou deixar abaixo três links para você pegar programas prontos que fazem exatamente isto. Estude o código com dedicação e aprenda como fazer.
- - Gera gráficos de funções matemáticas em duas dimensões – Gráfico 2D – vbmat2D1.zip
- - Gera gráficos de funções matemáticas em duas dimensões – Gráfico 2D – vbmat2D.zip
- - Gera gráficos de funções matemáticas em três dimensões - Gráfico 2D – vbmat3D.zip
Até o próximo artigo VB.
José Carlos Macoratti
http://www.macoratti.net/
Postado por Plinio Cruz em na categoria Internet, Rede, Tecnologia |
Olá pessoal, um Feliz Ano Novo para todos. Essa semana iniciaremos uma série de artigos referente a implementação de um Controlador de Domínio.
Antes de ir logo instalando o AD (Active Directory), vamos primeiro para as preliminares, onde faremos uma preparação para o dcpromo.exe. Instalaremos primeiramente o serviço DNS (Domain Name Service), pois este serviço é primordial para o correto funcionamento de nosso AD. Ele faz a resolução de nomes para entrar em nosso Domínio.
Então vamos parar de conversa e ir para o que interessa:
A configuração de minha máquina é a seguinte:P III 1.0 GhZ, 256 RAM, Windows 2000 Server instalado.IP: 192.168.0.1, Mask: 255.255.255.0
Iniciaremos digitando o número do IP da própria máquina em Servidor DNS Preferencial (Iniciar / Configurações / Conexões dial-up e de Rede) nas propriedades de rede:

Este IP será usado nas pesquisas de DNS feitas por este computador.
Para verificar se está tudo OK, vá no prompt do DOS e digite ipconfig /all. A configuração será algo como a figura abaixo:

Antes de rodar o dcpromo vamos instalar o DNS.
Vá em Iniciar / Configurações / Painel de controle / Adicionar ou Remover programas, clique no botão “Adicionar ou remover componentes do Windows”. Entre na opção Serviços de rede e marque sistema de nomes de domínios (DNS). Deverá aparecer algo como:
Clique em OK e o assistente irá instalar o DNS (será necessário disco de instalação do Windows 2000).
No final da instalação será necessário reiniciar o computador.
Agora vamos configurar o DNS:
Entre em Iniciar / Programas / Ferramentas administrativas / DNS
Adicione uma nova Zona DNS primária. Caso você tenha definido seu sufixo DNS como empresa.com.br (no meu caso foi alexdorr.com.br), crie a zona com o mesmo nome e siga com os passos que o sistema oferece.
Crie um Zona Inversa Primária (estas zonas servem para definir a informação que permitem ao servidor fazer a conversão de endereços para nomes) e aponte para a classe IP da sua rede. No nosso exemplo a rede é 192.168.0.X / 255.255.255.0, em indentificação de rede, aponte para 192.168.0 e siga com as opções padrão que o sistema oferece.
Clique com o mouse na sua zona primária criada anteriormente (alexdorr.com.br), verifique se foi criado um Registro de HOST apontando para o IP deste servidor.
Agora abra uma janela do MS-DOS e digite ipconfig /registerdns. Isso irá criar o nosso registro de HOST na zona Primária.

Prontinho. Nossa máquina está preparada para receber o Active Directory.
Até a semana que vem e fiquem com Deus.
Alex Dorr
Postado por Plinio Cruz em 14 de fevereiro de 2004 na categoria Multimídia, Tutorial |
Por incrível que pareça, criar Disco hibridos VCD é mais fácil do que se imagina para isso você terá de adquirir alguns programas , todos free ou trial e estão disponíveis para download na Internet.
Nesse tutorial, vou mostrar passo a passo como se produzir um VCD. Em linha gerais são necessárias 3 etapas para cumprir essa tarefa.
Primeiro, capturar o vídeo- ou seja, converter a informação analógica da fita cassete para um arquivo digital no disco rígido. Depois, é preciso converter esse arquivo para o padrão MPEG-1 e , por fim, gravá-lo num Cd em formato Vídeo Compact Disc (VCD). Neste formato é possível armazenar até 80 minutos de vídeo numa mídia comum. Com qualidade idêntica à das fitas VHS, o VCD tem a vantagem de permitir a leitura do disco em aparelhos de DVD e também em micros com Drive de DVD ou Cd.
Para transferir o vídeo da fita cassete para o disco rígido, vamos usar o capturador vídeo Blaster MovieMaker, da creative Labs. Trata-se de um periférico externo que faz a digitalização de vídeo e se liga ao micro por uma porta USB.
O Movie-Maker substitui uma placa para captura de vídeo e se destaca pala facilidade de configuração e operação. Basta instalar o driver e os programas que vêm com o equipamento e depois ligá-lo ao computador. Não é necessário abrir o micro. Além disso, o programa de controla do moviemaker permite executar os três passos para a produção do VCD, o que significa consideravelmente o trabalho. Agora vamos mostrar como agir se, em vez do MovieMaker, você já tiver em seu micro uma placa de captura.
No segundo passo , vamos usar o programa TMPGEnc, que converte o arquivo capturado da fitam em formato AVI, para o formato MPEG-1 (arquivo MPG). Por fim, para produzir o disco VCD, usaremos um software comum de gravação de CDs. Nesse tarefa, pode-se usar um programa como NERO BURNING ROM ou o Easy CD Creator, Deluxe ou Platinium, que não tem versão demo. Você vai precisar, ainda de um vídeo cassete(ou uma câmera) para executar o vídeo e trasferi-lo ao computador.
Outro recurso importante é espaço em disco. Reservem no mínimo, 2 GB para produção de Cd completo. Está tudo pronto para captura de vídeo. Abra o programa Video Blaster MovieMaker. Como padrão, ele registra vídeos no formato genérico MPEG-1. Mas há também a a opção de gravar arquivos já otimizados para Video CD Para ligar essa opção, clique em settings, na tela principal do programa, e depois escolha a orelha Recording Options. Nesta, marque o item Video CD.
Portanto isso elimina um passo da tarefa que seria a conversão de AVI para MPEG-1 ajustado ao Video CD. Agora, vamos começar a gravação. Coloque no video cassete a fita a ser digitalizada e acione o botão play. Uma tela auxiliar do moviemaker mostrará as cenas que estão sendo lidas no vídeo.
Na tela do programa, clique no Record . Lembre-se de que no Cd só haverá espaço para no máximo, 74 ou 80 minutos de vídeo – conforme e mídia. Se você tiver uma fita mais longa, terá de digitalizá-la em dois arquivos e gerar dois CDs ou abrir o arquivo completo no programa Virtual Dub ir em FILE- SAVE SEGMENTE AVI, lá você colocar o tamanho do arquivo de vídeo (600 ou 650 megas) e salve, dependendo da velocidade de seu pc e torno de 8 horas para um vídeo de 1 e meia, ao fim você terá seu arquivo em partes iguais de 600 megas.
Terminada a digitalização, você tem no disco rígido um arquivo MPEG-1 (extensão MPEG). Na verdade você pode ter mais de um arquivo se quiser juntar num mesmo Cd uma seqüência de pequenos clipes. O passo três é a gravação do VCD. Para facilitar as coisas, renomeie os arquivos (que em geral têm nomes como Video001.mpg, Video002.mpg) com expressões auto explicativas como “Aniversário da Fabiana-25 Set 2001.mpg”.
O programa MovieMaker também grava o Cd. Basta clicar no botão Create CD, na tela principal, e indicar os arquivos. Mas o aplicativo não oferece todas as opções existentes num programa mais especializado. Se você somente o MovieMaker, a tarefa chegou ao fim aqui. No entanto, você pode querer experimentar, por exemplo, os recursos do Nero. Neste programa, a seqüência para gerar um disco de VCD é a seguinte: Acione File/New e, no menu vertical da tela que se abre, escolha Video CD. Clique no botão New. Surge a janela Video1, que mostra a estrutura de diretórios necessários ao disco no padrão VCD. Na janela File Browser, localize os arquivos MPG com os vídeoclipes e arraste-os para a área em branco da janela Video1. Mova os arquivos para deixá-los na ordem em que devem figurar no disco. Agora, acione o botão WriteCD para os ajustes finais. Na tela que surge, clique na orelha Menu. Ligue o item Enable menu. Isso lhe permitirá criar uma página inicial com um menu de acesso aos clipes do CD.
Na linha Background Picture, clique no botão browse e indique uma imagem para compor o fundo do menu. Na campo Header Text, inclua outra informação qualquer, como por exemplo seus créditos: ” Produzido por Fulano”. Clique em Preview First Page para ver como será essa página. No menu, os títulos assumem os nomes dos arquivos. Eis porque sugerimos o uso de nomes auto-explicativos. Concluímos os ajustes, coloque um disco virgem no drive de CD-RW e clique no botão Write para queimar o VCD. Esse disco será tocado em aparelhos de DVD.
Também poderá ser usado no computador, mas o sistema não reconhece VCDs de modo automático. Para exibir vídeos, localize no CD o diretório Mpegav, no qual estão arquivos dat, que são na verdade os MPG. Abra o Windows Media Player ou outro tocador de mídia a arraste para ele um arquivo DAT. Você vai assistir ao clipe(filme), sem menu, emm352 por 240 pixels. Além disso, terá de carregar um DAT de cada vez. Para ter mais comodidade, instale um software leitor de VCD. Um exemplo, gratuito é o i-VCD Player. Agora, você vai dizer: e como fica o processo se eu já tenho uma placa capturadora de vídeo e não uso o MovieMaker?
Se o programa que você tem gera arquivos MPEG-1 ajustados para vídeo Cd, ótimo. Digitalize os vídeos e use o Nero para produzir o VCD. Mas, se seu programa captura vídeos em .AVI, você tem trabalho pela frente. Use o programa TMPGEnc para converter o AVI para mpeg compatível com VCD. Como já vimos, a conversão também é necessária, mesmo quando o arquivos é MPEG-1 genérico, por causa dos ajustes específicos para VCD. Essa tarefa é bastante demorada: um Pentium 4 de 1,3 GHz consome cerca de 60 minutos . Volte ao processo normal e use o Nero para obter seu disco de vídeo.
Selecionamos 17 super dicas para o Virtual Dub, inclusive como colocar embutir legendas nos arquivo avi para transforma-los em VCD. O Virtual Dub é um dos programas mais respeitados por quem aprecia as tecnologias de vídeo digital. Desenvolvido pelo Americano avery Lee, o programa é gratuito e de código aberto. Com ele é possível capturar vídeo, executar tarefas simples de edição, converter formatos de arquivos e redimensionar as imagens. O Virtual dub também permite extrair a trilha sonora da arquivos de vídeo, incluir áudio em arquivos de imagem e ainda agregar legendas às imagens. Conforme o próprio autor avisa, o VD não é exatamente um programa para edição de vídeo. Ele desenvolve algumas tarefas de edição a constitui uma ferramenta auxiliar na manipulação de arquivos digitais. Veja a seguir uma seleção com as melhores dicas para o Virtual DUb.
1º Instalação Rápida e Sem medo
Depois de fazer o download na nossa parte de downloads, a instalação é uma barbada. Todos os arquivos do programa vêm num pacote Zip. Basta criar um diretório em sua máquina e extrair todos os arquivos do ZIP para esse diretório. Em seguida, para facilitar a operação, crie na área de trabalho no menu do Windows ou em outro local de seu agrado, um atalho para o executável do programa, Virtual.exe.
2º Converta de MPEG 1 para AVI
No Virtual dub, é fácil converter uma arquivo MPEG 1 compactado, com quadros de 320X240 pixels, para AVI de 24 bits descompactado. Basta abrir o arquivo de vídeo (comando File/open Vídeo File, ou simplesmente Crtl+O) e depois acionar File/save As AVI, ou F7. O virtual Dub, em si, é bem rápido, mas essa operação depende dos recursos do Hardware. Num Pentium 4 de 1,6 GHz de 256 MB de memória, um arquivo AVI de 616 MB é produzido em 28 segundos. O problema com esse tipo de conversão ´q que só funciona para arquivos relativamente pequenos. Convertido para AVI descompactado, uma arquivo MPEG de 8,54 MB ( um filminho de 1 minuto e 24 segundos, em tamanho de 352X240) transforma –se num monstro de 616 MB.
3° Tesoura para Cortar Vídeo
O Virtual Dub não é exatamente um software para edição de vídeo. Ele não dispõe, por exemplo, dos recursos encontrados em produtos profissionais como o Adobe Premiere, ou mesmo produtos amadores para produção de vídeos domésticos. Com o VD não é possível superpor imagens, criar efeitos de fade-in ou fade-out ou escrever letreiros na imagem. No entanto, ele permite remover trechos de um videoclipe e salvar o restante, sem a necessidade de recompactação. Veja como executar essa tarefa. Imagine que você tem um clipe e deseja eliminar dele um pedaço que está no meio doa arquivo. Com o mouse, deslize o ponteiro na barra de localização (trackbar), a fim de encontrar o ponto inicial da região de corte. Você pode utilizar os botões de comando, no rodapé da tela, para avançar ou recuar no filme, quadro a quadro. O número do quadro aparece na barra de status. No ponto de início, clique no botão MArk In (ou acione a tecla Home). Desloque ponteiro para a posição do final do corte e clique no botão Mark Out ( ou tecla end). O VD exibe, na track bar, a área marcada para apagamento. Não há problema se vocÊ precisa deslocar o ponteiro, Para voltar ao ponto de marcação inicial, acione a tecla abre colchete ([); para ir ao ponto final, use a tecla fecha-clochete (]). Também é fácil mudar a posição do ponto inicial ou final, basta escolher o novo ponto e dar o comando correspondente. Para eliminar a área destacada, comande Edit/Delete Selection ou aperte a tecla Del. O trecho de vídeo correspondente desaparece de forma instantânea . Salve o vídeo e a tarefa estará concluída. Enquanto vocÊ não salva, o arquivo original se mantém. Vale lembrar que essa operação também funciona para arquivos MPEG 1 , por exemplo. Contudo o virtual dub não salva nesse formato – o que representa uma seria limitação. Se você tem uma arquivo MPEG e precisa cortá-lo com o VD, será forçado a salvá-lo em avi e depois reconverte-lo, em outra ferramenta, para MPEG. Devido a essas indas e vindas, o melhor nesse caso é usar outro programa , que trabalhe diretamente com o padrão MPEG.
4º Junte vários arquivos AVI
Um importante recurso de edição do VD é a anexação de arquivos. Operação exclusivas para arquivos AVI, ela é feita da seguinte maneira, Certifique-se de ter à mão pelo menos dois arquivos com as mesmas característica físicas: tamanhos dos quadros, taxa de exibição de quadros (frame rate), etc. Abra o primeiro arquivo AVI (File/Open Vídeo File ou arraste o arquivo para a janela do programa). Em seguida, posicione o ponteiro da barra de localização no local onde o novo arquivo de vê ser inserido. Pode ser em qualquer posição: inicio, meio ou fim. Agora Acione File/Append AVI Segment e indique o segundo arquivo. SE você não em dois arquivos AVI, pode fazer o teste com apenas um. Nesse caso, você vai ter a mesma seqüência de vídeo repetida. Confira o resultado e salve o arquivo Save as AVI. Infelizmente, o virtual dub não salva arquivo no formato compactado MPEG. Você precisará de outro programa.
5º Ajuste a taxa de exibição
Para mudar a taxa de exibição de imagens em quadros por segundo, acione Vídeo/Frame Rate, clique na opção Change To e digite o número de quadros na unidade de tempo. VocÊ não precisa fazer aproximações: Se a taxa desejada é 29,97, escreva exatamente esse número e não 29 ou 30.
6º Captura do Vídeo sem Compactação
Para capturar um vídeo, basta conectar a fonte de vídeo (por exemplo, um vídeo cassete) ao dispositivo de captura, rodar o vídeo na fonte e acionar o comando File/Captura AVI no VD. O formato-padrão de captura é o AVI descompactado. Acione o comando Vídeo/Compression e escolha, por exemplo, o codec Intel Indeo Vídeo para obter um bom grau de compactação. O VD não grava em mpeg. Você vai receber uma mensagem de erro se seu micro não dispõe de uma placa ou outro hardware especializado em capturar vídeo. Os dispositivos para digitalização de vídeo normalmente trazem um programa para captura. Na maioria dos casos é melhor utilizar esse programa porque ele trabalha com vídeo compactado, que ocupa bem menos espaço que o AVI.
7º Isole no Filme a trilha de áudio
Se seu filme tem, combinadas uma trilha de áudio e outra de áudio. SE quiser, você pode salvar em separado apenas os itens de som. Para isso, acione File/Save WAV. Dê um nome para o arquivo e você terá um arquivo WAV com falas e músicas, se houver, no filme. Posteriormente, use um editor de áudio para extrair do arquivo WAV exatamente os trechos que lhe interessam.
8º Ficha completa do arquivo
Para saber todos os detalhes do arquivo de vídeo ativo, acione FILE/File Information. Na janela que se abre, você encontra os informações básicas de vídeo e também dados pertinentes à trilha de áudio: Taxa de amostragem, número de canais e compressão.
9º Imagens de Vídeo para BMPs
É possível salvar um trecho de filmes em imagens BMP separados, quadro a quadro. Para isso, selecione File/Save Imagen Sequence. Na janela Imagem Output Filter, indique , primeiro um prefixo para as imagens – por exemplo, quadro. O VD vai salvar arquivos com nomes como quadro 1, quadro2, etc…. na caixa Directory do Hold Imagens, indique o diretório onde os arquivos devem ser salvos. Cuidado, para não usar esse comando num videoclipe muito extenso: Você pode entupir seu HD.
10º Salve apenas um quadro
Na tela principal, o VD sempre apresenta duas janelas para exibição de vídeo. Na primeira, a janela de entrada (source), aparece o arquivo original. Na outra , a da saída (output), é mostrado o resultado de alguma operação, como filtragem ou redução do tamanho da imagem. Você pode capturar apenas o quadro atual na janela de entrada ou de saída. É simples. Acione Vídeo/Copy Source Frame to Clipboard (Ctrl+l) ou video copy output Frame to Clipboard (Ctrl+2). Com a imagem na memória , cole-a em qualquer programa como o paint afim de editá-la ou salvá-la.
11º Reduza o tamanho da Imagem
Você tem um arquivo de vídeo em 352X240 pixels e deseja reduzir essas dimensões pela metade. Faça o seguinte. 1.)No menu, acione Vídeo/Filters. 2.)Abre-se a janela Filters. Nela Clique no botão add. Surge uma lista de filtros disponíveis. 3.)Escolha a opção “2:1 Reduction (hight Quality). Com essas opções, o arquivo na verdade será reduzido à quarta parte, uma vez” que a divisão por 2 será feita tanto no comprimento como na largura de cada quadro. (também é possível fazer outro tipo de redução, com o filtro “Resize”.) Clique em Ok 4.)Se você está usando o Filtro Resize comum, digite os tamanhos desejados. Com a redução 2:1, as novas dimensões já aparecem na tela 176X210 pixels. 5.) Acione OK e o VD passa a exibir, na tela principal duas janelas de vídeo de tamanhos diferentes. 6.)Para ver com ficará a imagem reduzida, acione File?Preview. 7.)Se tudo estiver a contento, acione File/Save AS AVI.
12. Adicione áudio ao seu Vídeo
No VD é possível inserir áudio numa seqüência de vídeo desde que você use como fonte um arquivo de som WAV. Para isso, abra o arquivo de vídeo. No menu Áudio, escolha WAV áudio e na caixa WAV Áudio File selecione o arquivo WAV que pretende usar par sonorizar o filme. Salve o novo arquivo AVI (File/Save As AVI).
13. Um filtro para as legendas
O VD aceita a inclusão de filtros externos- arquivos que o auxiliam na execução de tarefas extras. Um dos filtros mais interessantes é o que adiciona a filmes textos de legendas em diferentes idiomas (um de cada vez). Para usar o filtro externo qualquer você precisa fazer o download dele em separado e instalá-lo no VD. Para baixar o filtro de legendas (subtitler), vá em nossa página e facão o download do mesmo. O filtro VME em um arquivo ZIP que contém vários arquivos. Crie em subdiretório na pasta em que vocÊ instalou o VD e extraia para ele todos esses arquivos. VocÊ também pode criar um subdiretório chamado plug-ind na pasta do VD e copiar para ele a arquivo VDF, que contém o filtro. Dessa forma, ele será carregado automaticamente na abertura do programa. Para agregar legendas a um filme, acione Vídeo/Filters e depois acione o botão Add. Na lista da janela Add Filter, selecione o filtro Subtitler e dê OK. Surge a janela subtiltler: Configuration. Clique nela o nome doa arquivo que contém o texto das legendas- um arquivo texto com a extensão SSA. O filtro subtitler traz um clipe de vídeo, Gray.avi e um arquivo de legendas. Demo.ssa, que podem ser usados para teste.
14. Tamanho da imagem de captura
Em alguns micros, o VD captura imagens em 768X576 pixels. Em outros, a placa de vídeo só permite capturar um máximo de 640X480 pixels. Como corrigir esse problema? Não é um problema. A diferença se deve à captura de vídeo no sistema PAL ou no sistema NTSC. O PAL opera com 625 linhas a 50Hz. Ou seja, a imagem é atualizada 50 vezes por segundo. O NTSC trabalha com 525 linhas e 59,94Hz. Além disso, o padrão PAL captura 25 quadros por segundo enquanto o NTSC deve operar com 29,97 quadros por segundo.
15. Capture arquivos com mais de 4Gigas
O VD não deixa capturar uma arquivo AVI maior que 4GB. Há duas causas para esse problema. A primeira é você usar o sistema Windows nas versões 95, 98, 98se ou ME. A outra é você usar o sistema de arquivos FAT32. Uma outra, isoladamente, determinam esse limite. Para capturar uma arquivo maior que 4GB é necessário usar Windows NT, 2000 ou XP e o sistema de arquivos NTFS. Mas existe uma forma de contornar essa limitação.Use a captura normal (file/Capture AVI), marque a opção Capture/Enable Multisegmented Capture e defina o valor dos intervalos (thesholds) para 50 megas.
16. Linha Cinzenta na imagem.
Alguma imagens capturadas com o VD apresentam uma linha cinzenta na parte inferior da tela. Nesse caso, quando se trata de apenas uma linha no pé da imagem, o defeito pode decorrer de algum problema na cabeça de leitura do aparelho de videocassete usado como fonte para a digitalização do clipe. Você pode ignorar a linha defeituosa e depois eliminá-la, cortando-a fora de cada quadro. No entanto, se vários linhas apresentarem a mesma distorção, possivelmente se deve ao entrelaçamento . isso vai aparecer toda a vez que você captura imagens com altura superior a 240 linhas no padrão NTSC ou 288 linhas, em PAL. O entrelaçamento não constitui exatamente um defeito e portanto, não pode ser corrigido.
17. Driver padrão Vídeo for Windows
Sua máquina tem um dispositivo de capturar vídeo e, no entanto, o VD apresenta uma mensagem dizendo que não o encontra. Para capturar vídeo, o VD exige a presença de um driver para Vídeo for Windows. Se o periférico de captura não traz esse driver, O VD não pode ser usado.
Walter Eustáquio de Castro Júnior
http://www.pipocaecocacola.hpg.com.br
Postado por Plinio Cruz em 8 de fevereiro de 2004 na categoria Delphi, Programação, Soluções |
Neste artigo vou mostar como usar algumas APIs do Windows para mover a caixa de Diálogo chamada pela função SelectDirectory.
A caixa de diálogo em questão, quando chamada, se abre alinhada ao canto direito inferior do Windows, próximo ao relógio. Com algumas técnicas, vamos poder movê-la em tempo de execução para uma nova posição. Para isso vamos usar as seguintes APIS:
- FindWindow : Usada para localizar a janela.
- GetWindowRect : Usada para recuperar a posição em que a janela foi aberta.
- MoveWindow : Para mover a caixa de diálogo para a posição desejada, no nosso caso, centro do desktop.
A primeira coisa que devemos fazer é desenhar o form de exemplo. Abra o Delphi e em um novo projeto insira os seguintes componentes:
- 1 TButton. Mude sua propriedade Name para btnSelecionar e Caption para Selecionar Diretório.
- 1 TEdit com o Name de edCaminho. Limpe a propriedade Text.
- 1 TTimer da paleta System com o nome de tmAjustar.
- Configure o form como no exemplo da figura 1.
- Mude a propriedade Enabled do TTimer para False e Interval coloque 100.

Feito isso, declare na cláusula “uses” do form a unit FileCtrl. Para o evento onClick do btnSelecionar digite o algoritimo da Listagem 1;
procedure TForm1.btnSelecionar1Click(Sender: TObject);
var
Dir : String;
begin
tmAjustar.Enabled := True;
if SelectDirectory('Selecione um diretório.','',Dir) then
edCaminho.Text := Dir;
end;
No evento onTimer do objeto TTimer digite o código da Listagem 2;
procedure TForm1.tmAjustarTimer(Sender: TObject);
var
tmHandle : THandle;
tmRect : TRect;
tmAltura, tmLargura, tmNovoLeft, tmNovoTop : Integer;
begin
{Declare a unit FileCtrl no uses do Form}
tmHandle := FindWindow(Nil,'Procurar Pasta');
if tmHandle > 0 then
begin
{Aqui eu pego os valores do Rect da Janela localizada, desta forma eu posso
obter Left, Top, Bottom, Rigth e Etc}
GetWindowRect(tmHandle,tmRect);
{Aqui eu pego a altura e largura da Janela localizada}
tmAltura := tmRect.Right-tmRect.Left;
tmLargura := tmRect.Bottom-tmRect.Top;
{Aqui eu defino o novo left e top, que serão no meio da tela do "WINDOWS"}
tmNovoLeft := (Screen.Width div 2) - (tmLargura div 2);
tmNovoTop := (Screen.Height div 2) - (tmAltura div 2);
{Aqui eu envio uma mensagem para a janela indicando qual o novo destino}
MoveWindow(tmHandle,tmNovoLeft,tmNovoTop,tmRect.Right-tmRect.Left,
tmRect.Bottom-tmRect.Top,True);
tmAjustar.Enabled := False;
end;
Screen.Cursor := crDefault;
end;
Vamos as explicações:
Primeiro nós precisamos de um manipulador do tipo THandle, obtido através da api FindWindow:
tmHandle := FindWindow(Nil,’Procurar Pasta’);
A variável tmHandle recebe o “handle” da janela cujo o Caption é:
Procurar Pasta. O primeiro parâmetro de FindWindow é a classe da janela procurada. Como não sabemos passamos Nil.
Depois disso verificamos se o tmHandle é maior que zero, ou seja, se a janela foi encontrada. Em caso positivo, usamos a API GetWindowRect. Essa api armazena em uma variável do tipo TRect a informações suficientes para mais tarde movermos a janela.
GetWindowRect(tmHandle,tmRect);
O primeiro parâmetro, como podemos ver, é o manipulador Handle obtido mais acima. O segundo é a própria variável TRect.
Isso foi feito porque para mover a janela com MoveWindow, que veremos logo adiante, são necessários os novos Tamanhos e Posições. Para sabermos essas informações efetuamos alguns cálculos, veja:
{Aqui eu pego a altura e largura da Janela localizada}
tmAltura := tmRect.Right-tmRect.Left;
tmLargura := tmRect.Bottom-tmRect.Top;
{Aqui eu defino o novo left e top, que serão no meio da tela do "WINDOWS"}
tmNovoLeft := (Screen.Width div 2) - (tmLargura div 2);
tmNovoTop := (Screen.Height div 2) - (tmAltura div 2);
Com base nas informações recebidas em tmRect, calculamos a largura e altura da janela. Depois calculamos o novo left e top, usando o tamanho do Screen. Neste caso estamos enviando a janela para o centro do Desktop.
Agora só nos resta fazer a chamada a API MoveWindow, veja:
{Aqui eu envio uma mensagem para a janela indicando qual o novo destino}
MoveWindow(tmHandle,tmNovoLeft,tmNovoTop,tmRect.Right-tmRect.Left,tmRect.Bottom-tmRect.Top,True);
Explicando: o primeiro parâmetro é o manipulador Handle, ou seja, a própria janela. Os parâmetros seguintes são, respectivamente, Left, Top, Largura, Altura e se a janela deve ser “repintada”.
Por fim, desativamos o Timer, usado somente no instante em que a janela é chamada.
Adriano Santos