Ferramentas de Usuário

Ferramentas de Site


dev_net:vb.net:comparar_imagens

Tabela de Conteúdos

Comparar Imagens

Uma das formas de comparar se duas imagens são iguais é convertendo as imagens, utilizando o método Convert.ToBase64String(), para uma string. Este método converte um array de 8-bit inteiros para a sua representação com base em 64 dígitos.

É um método muito simples para algumas aplicações onde é necessário comparar imagens.

Atenção: não confundir com tamanho, dimensão, etc.

Exemplo

    ''' <summary>
    ''' Converte a imagem para base 64
    ''' </summary>
    ''' <param name="image">Imagem a converter</param>
    ''' <param name="format">Formato da imagem</param>
    Public Function ImageToBase64String(ByVal image As Image, ByVal format As Imaging.ImageFormat) As String
 
        Dim base64String As String = String.Empty
        Using memory As New IO.MemoryStream()
            image.Save(memory, format)
            base64String = Convert.ToBase64String(memory.ToArray())
        End Using
 
        Return base64String
    End Function
 
 
    ' Verifica se as imagens são iguais ou não
    Private Sub btnTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTest.Click
 
        ' Guarda as imagens em memória
        Dim img1 As Image = Image.FromFile("c:image1.jpg")
        Dim img2 As Image = Image.FromFile("c:image2.jpg")
 
        ' Converte as imagens para base 64
        Dim base64String1 As String = ImageToBase64String(img1, Imaging.ImageFormat.Jpeg)
        Dim base64String2 As String = ImageToBase64String(img2, Imaging.ImageFormat.Jpeg)
 
        ' Compara se as strings geração são iguais
        If base64String1 = base64String2 Then
            MessageBox.Show("As imagens são iguais")
        Else
            MessageBox.Show("As imagens são diferentes")
        End If
 
    End Sub

Autoria

Este artigo foi inicialmente escrito por Jorge Paulino para o seu blog VBTuga - Visual Basic em Português.

dev_net/vb.net/comparar_imagens.txt · Última modificação em: 2018/05/14 21:37 (edição externa)