VB.NET - objetos GDI+ : BitMaps e Icones


No artigo  - VB.NET -  Desenhando com o GDI+  - abordei os conceitos básicos do GDI+ , continuando a falar sobre GDI+ irei focar a criação e utilização dos objetos Bitmap e icons.

Um bitmap é um objeto gráfico padrão usado para exibir imagens no ambiente Windows. A extensão de um arquivo bitmap é .bmp.

Podemos criar imagens bitmaps usando diversos programas específicos, e até o Paint pode fazer isto.  Você já deve saber que podemos criar imagens bitmaps usando o VS.NET. Vamos então criar uma imagem do tipo bitmap no VS.NET.

Crie um novo projeto no VS.NET do tipo Windows Application usando a linguagem VB.NET dando um nome sugestivo ao projeto. Vou chamar o projeto de bitmaps.

Após isto clique com o botão direito do mouse sobre o nome do projeto e selecione a opção Add e Add New Item.

Na janela bitMaps selecione Bitmap File , informe o nome da figura bitmap e clique em Open.

Agora , usando os seus dotes artísticos você pode criar aquela maravilhosa figura .Abaixo um exemplo de figura criada.

Você pode usar figuras bitmaps mais elaboradas já prontas;  para suportar Bitmaps o GDI+ fornece a classe Bitmap que é baseada na classe abstrata Image. Para exibir um bitmap você só tem que passar o nome e o caminho da figura para o construtor da classe:

Public Sub New(ByVal filename As String)

Em seguida chame o método Graphics.DrawImage() que possui diversas versões sobrecarregadas. Uma das versões deste método possui a seguinte sintaxe:

Overloads Public Sub DrawImage( ByVal image As Image, ByVal point As Point)

O primeiro argumento pode ser um bitmap existente
O segundo argumento define a localização da imagem indicando seu posicionamento

Abaixo um exemplo de utilização:

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint


Try

    Dim jcmBitmap As Bitmap = New Bitmap("c:\teste\teste.bmp")

    e.Graphics.DrawImage(jcmBitmap, 20, 10)

Catch ex As Exception

    MsgBox(ex.Message & vbNewLine & ex.StackTrace)

End Try
 

End Sub

Executando o projeto iremos obter:

No código temos :

- A criação de um objeto do tipo BitMap apontando para c:\teste\teste.bmp

- Usando o método DrawImage() exibimos o bitmap no formulário , no evento Paint do mesmo

Criando e usando Icones

Para criar um ícone no VS.NET vamos usar o mesmo projeto usado para criar e exibir bitmaps. (A extensão de um arquivo icon é .ico)

Com o projeto aberto selecione a opção File do Menu e a seguir New File. Na janela New File selecione Icon File

-  Vamos apagar o conteúdo exibido , clicando no ícone da borracha  Erase e apagar toda a área da figura

- Na paleta de cor vamos clicar na cor branca e a seguir clicar no ícone Fill e clicar sobre a figura para preencher com a cor branca

- No editor , clique no ícone linha Line e  a seguir na paleta de cores clique na cor azul

- Agora clique no ícone do lápis para desenhar um ícone na área da figura. Abaixo o resultado do meu trabalho.(Não ria ...)

Finalmente salve o ícone em uma pasta do projeto . Eu salvei o arquivo na pasta c:\teste com o nome de testeicon.ico

Para usar o icones o GDI+ fornece a classe Icon. Você deve então declarar uma variável do tipo Icon usando um dos construtores da classe. Se o ícone for um arquivo o construtor padrão é :

Public Sub New(ByVal fileName As String)

Neste construtor passamos como argumento o nome do arquivo de ícone. A seguir você pode usar um dos construtores a seguir para definir o ícone:

Public Sub New(ByVal original As Icon, ByVal size As Size)
Public Sub New(ByVal original As Icon, ByVal width As Integer, ByVal height As Integer)

Para exibir o ícone você pode usar o método DrawIcon em uma de suas versões sobrecarregadas.

Overloads Public Sub DrawIcon(ByVal icon As Icon, ByVal targetRect As Rectangle)
Overloads Public Sub DrawIcon(ByVal icon As Icon, ByVal x As Integer, ByVal y As Integer)

A primeira versão permite definir a localização e as dimensões do ícone , a segunda , permite definir somente a localização.

Para exibir o ícone no formulário do projeto usamos o seguinte código:

  1. Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim testeicon As Drawing.Icon = New Drawing.Icon("c:\teste\testeicon.ico")

            Me.Icon = testeIcon
    End Sub 

Executando o projeto teremos:

Ate o próximo artigo VB.NET ...

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti