none
Carregar Imagem no PictureBox - Windows Form RRS feed

  • Pergunta

  • Olá,

    Estou com dificuldades para carregar uma imagem "string" no controle PictureBox.

    Testei vários exemplos que encontrei e consegui fazer funcionar carregando direto do Banco de dados pelo método SqlCommand.ExecuteScalar. 

    O problema é que meu programa não terá acesso ao banco de dados e para carregar acessarei um XML que conterá a imagem, o XML é alimentando por outro sistema que replicará as informações da imagem do banco para o documento, ou seja tenho uma string com a imagem e preciso carrega-lá no picturebox. 

    Alguém pode ajudar!?

    Obrigada.


    quarta-feira, 14 de agosto de 2013 19:24

Todas as Respostas

  • Suelen sua dúvida ficou um pouco vaga... dê mais informações sobre esta questão por exemplo este xml está com o caminho da imagem, ou a imagem em bytes por exemplo. Se possível detalhe bem sua questão assim fica mais fácil para alguém lhe propor uma solução.

     "Feliz aquele que transfere o saber e aprende o que ensina."(Cora Coralina)


    Pablo Batista Cardoso
    www.pablobatistacardoso.com.br
    pablobatistacardoso@hotmail.com

    sábado, 17 de agosto de 2013 12:49
  • Olá Pablo,

    Consegui fazer funcionar no exemplo abaixo:

      SqlCommand cmdSelect = new SqlCommand("select xx_imagem_material from t_material where cd_material=1", this.conexaoSQLServer);             
      this.conexaoSQLServer.Open();
      byte[] vetorImagem = (byte[])cmdSelect.ExecuteScalar();
      string strNomeArquivo = Convert.ToString(DateTime.Now.ToFileTime());
      FileStream fs = new FileStream(strNomeArquivo, FileMode.CreateNew, FileAccess.Write);
      fs.Write(vetorImagem, 0, vetorImagem.Length);
      fs.Flush();
      fs.Close();
      picImagem.Image = Image.FromFile(strNomeArquivo);

    No meu caso, buscarei a imagem a partir de um xml:

    <?xml version="1.0"?>

    <imagem>

    <materialimagem>0xFFD8FFE000104A46494600010200006400640000FFEC00114475636B79000100040000003C0000FFEE000E41

    646F62650064C000000001FFDB0084000604040405040605050609060506090B080606080B0C0A0A0B0A0A0C100C0C0C0C0C0C100C

    0E0F100F0E0C1313141413131C1B1B1B1C1F1F1F1F1F1F1F1F1F1F010707070D0C0D181010181A1511151A1F1F1F1F1F1F1F1F1F1F

    1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1FFFC00011080140019F0301110002

    1101031101FFC400B70000010501010100000000000000000000050102030406070008010003010101010100000000000000000000

    010203040506071000020103020304060606060804040700010203001104120521310641512213617191A1140781B132425223C1D1

    6272921582A233432408F0E1B2D253738316C26393C334442517F1A3B35474841811000202010303030302050304030000000001…</materialimagem>

    </imagem>

    Não estou conseguindo encontrar uma maneira de carregá-la e não sei se é possível fazer dessa maneira.

    Se precisar de mais informações, pode me perguntar!

    Obrigada.


    quarta-feira, 21 de agosto de 2013 13:00
  • Este conteúdo do xml é a imagem em bytes? Se possível disponibilize o arquivo xml com pelo menos um conteúdo completo.

     "Feliz aquele que transfere o saber e aprende o que ensina."(Cora Coralina)


    Pablo Batista Cardoso
    www.pablobatistacardoso.com.br
    pablobatistacardoso@hotmail.com

    quarta-feira, 21 de agosto de 2013 13:04
  • O conteúdo está em hexa.

    Segue um exemplo com a imagem completa:

    <?xml version="1.0"?>

    <imagem>

    <materialimagem>0x89504E470D0A1A0A0000000D49484452000000900000005B0802000000130B9B980000000173524742

    00AECE1CE90000000467414D410000B18F0BFC6105000000097048597300000EC300000EC301C76FA8640000013B49444154

    785EEDD6410D00211443418470C4BF333C808977F8C9242B8094CE9675F7F10D4A600D3AABA3FE045CD8B01F8C0B736146B

    14C8030C2CA7E7977104618616502841156F6CB86114618616502841156F6CB86114618616502841156F6CB861146186165

    02841156F6CB86114618616502841156F6CB86114618616502841156F6CB86114618616502841156F6CB861146186165028

    41156F6CB86114618616502841156F6CB86114618616502841156F6CB86114618616502841156F6CB861146186165028411

    56F6CB86114618616502841156F6CB86114618616502841156F6CB86114618616502841156F6CB86114618616502841156F

    6CB86114618616502841156F6CB86114618616502841156F6CB86114618616502841156F6CB86114618616502841156F6CB

    86114618616502841156F6CB863DFFBF32F5C2C8C5B40000000049454E44AE426082</materialimagem>

    </imagem>


    quarta-feira, 21 de agosto de 2013 13:49