none
Comparar imagens de botão com Winform RRS feed

  • Pergunta

  • Prezados,

    Estou desenvolvendo uma aplicação .net winforms, e estou com dúvida em relação a comparação de imagens de botões. Procurei em vários lugares, mas não encontrei nada lógico.

    Eu tenho um botão em um form, atribuo uma imagem pela aba properties, através de uma imagem na minha pasta Resources.

    Eu consigo alterar minha imagem do botão assim:

    button.Image = Properties.Resources.imagemAlterada;
    

    Porém, não consigo verificar qual imagem que tenho no botão e fazer uma ação:

    if(button.Image == Properties.Resources.imagemAlterada){
    
    	
    
    }
    


    O código acima não funciona, na verdade nem sei se está certo.

    Alguém tem alguma idéia?

     

    Desde já agradeço a atenção.

    • Movido Olavo Oliveira Neto segunda-feira, 10 de outubro de 2011 17:29 Estou movendo sua questão para o fórum especifico de Windows Forms. Obrigado (De:.NET Development - Geral)
    segunda-feira, 10 de outubro de 2011 16:17

Respostas

  • Ola Leandro,

     

    Tente da seguinte forma:

     

     

    if (Converte(button1.Image) == Converte(Properties.Resources.imagemAlterada))

                {

                   //OK!!!!

                }

     

    private string Converte(Image Imagem)

     

            {

                string base64String = String.Empty;

     

                System.IO.MemoryStream memory = new System.IO.MemoryStream();

     

                Imagem.Save(memory, System.Drawing.Imaging.ImageFormat.Jpeg);

                base64String = Convert.ToBase64String(memory.ToArray());

                memory.Dispose();

                return base64String;

            }

     

     

    Espero ter ajudado.

     

    Vlwsss!!!


    • Sugerido como Resposta AndesBH segunda-feira, 10 de outubro de 2011 21:16
    • Editado AndesBH segunda-feira, 10 de outubro de 2011 21:16
    • Marcado como Resposta AndreAlvesLimaModerator terça-feira, 9 de fevereiro de 2016 15:33
    segunda-feira, 10 de outubro de 2011 21:16

Todas as Respostas

  • Ola Leandro,

     

    Tente da seguinte forma:

     

     

    if (Converte(button1.Image) == Converte(Properties.Resources.imagemAlterada))

                {

                   //OK!!!!

                }

     

    private string Converte(Image Imagem)

     

            {

                string base64String = String.Empty;

     

                System.IO.MemoryStream memory = new System.IO.MemoryStream();

     

                Imagem.Save(memory, System.Drawing.Imaging.ImageFormat.Jpeg);

                base64String = Convert.ToBase64String(memory.ToArray());

                memory.Dispose();

                return base64String;

            }

     

     

    Espero ter ajudado.

     

    Vlwsss!!!


    • Sugerido como Resposta AndesBH segunda-feira, 10 de outubro de 2011 21:16
    • Editado AndesBH segunda-feira, 10 de outubro de 2011 21:16
    • Marcado como Resposta AndreAlvesLimaModerator terça-feira, 9 de fevereiro de 2016 15:33
    segunda-feira, 10 de outubro de 2011 21:16
  • Olá,

    Só para deixar uma outra alternativa para esse problema, gostaria de deixar um link para um artigo que escrevi esta semana.. Neste artigo eu mostro como fazer a comparação de imagens no Windows Forms byte a byte ou pixel a pixel..

    Caso mais alguém passe por esse problema no futuro, confira:

    Como podemos comparar imagens no Windows Forms?


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    terça-feira, 9 de fevereiro de 2016 15:35
    Moderador