Convertendo formatos de Imagens

]

Eu já disse que o VB.NET trouxe um verdadeiro arsenal de classes , métodos e funções que facilitam muito a vida do programador.  Tarefas que antes exigiam muito código hoje podem ser feitas com apenas uma única linha de código. Dúvida ??? Então vou mostrar como converter formatos de imagens usando um única linha de código.

 

O projeto , por questão de simplicidade , irá mostrar como converter arquivos no formato BMP para : GIF , JPG e WMF. Você pode ampliar o projeto e criar um verdadeiro conversor de imagens entre os diversos tipos existentes.

1 - Inicie um novo projeto no Visual Studio.NET com as seguintes características (sinta-se a vontade para alterar a seu gosto.)

  1. Project Types : Visual Basic Projects
  2. Templates : Windows Application
  3. Name : ConverteImg
  4. Location : c:\vbnet\ConverteImg

2- A seguir no formulário padrão insira os controles : label , button , textBox e combobox como na figura abaixo:

Obs: Insira também o componente - OpenFileDialog - no projeto. Ele será usado para abrir janela - Abrir Arquivo.

3-  Como vou usar o namespaces System.Drawing vou importar este namespace no formulário:

 

Imports System.Drawing

 

4- Para preencher a combobox com as opções de formatos , insira o código abaixo no evento Load do formulário.

 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

  ComboBox1.Items.Add("GIF")

  ComboBox1.Items.Add("JPEG")

  ComboBox1.Items.Add("WMF")

  ComboBox1.SelectedIndex = 0

  'define o diretório de inicio da janela Abrir Arquivo

  OpenFileDialog1.InitialDirectory = "d:\imagens\"

End Sub

 

5- No evento Click do botão de comando - Button1 - insira o código que faz a conversão :

 

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim arquivo As String

If Len(TextBox1.Text) <> 0 Then

   arquivo = TextBox1.Text

Else

   MsgBox("Informe um nome de arquivo para converter.", MsgBoxStyle.Critical, "Erro")

   Exit Sub

End If

Dim b As New Bitmap(arquivo)

arquivo = arquivo.Replace(".bmp", "")

Try

   Select Case ComboBox1.SelectedIndex

         Case 0 'GIF

           b.Save(arquivo + ".gif", Imaging.ImageFormat.Gif)

        Case 1 'JPEG

           b.Save(arquivo + ".jpg", Imaging.ImageFormat.Jpeg)

       Case 2 'WMF

           b.Save(arquivo + ".wmf", Imaging.ImageFormat.Bmp)

       End Select

    MsgBox("Arquivo : " & arquivo & " Convertido para " & ComboBox1.Text & " Com sucesso !", MsgBoxStyle.Information, "OK")

Catch ex As Exception

    MsgBox(ex.ToString, MsgBoxStyle.Critical)

End Try

End Sub

 

A linha de código que faz a conversão é

 b.Save(arquivo + ".gif", Imaging.ImageFormat.Gif) 

Veja ao lado os formatos suportados.

 

6- Para encerrar inclua o código que abre a janela de diálogo- Abrir Arquivo

 

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

  OpenFileDialog1.ShowDialog()

  txtimg.Text = OpenFileDialog1.FileName

End Sub

 

Agora é só executar o projeto , selecionar o arquivo BMP e converter para o formato desejado :

 

 

Gostou ??  Até a próxima...


José Carlos Macoratti