Inquiridor
Carregar Imagem no PictureBox - Windows Form

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.
- Editado Suelen A. P. Carvalho quarta-feira, 14 de agosto de 2013 19:55
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 -
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.
- Editado Suelen A. P. Carvalho quarta-feira, 21 de agosto de 2013 13:01
-
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 -
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>
- Editado Suelen A. P. Carvalho quinta-feira, 3 de outubro de 2013 17:05