ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Abrir Imagem

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
josivanl
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 9 de Julho de 2007
Mensagens: 126

MensagemEnviada: Qui Jul 10, 2014 9:41 am    Assunto: Abrir Imagem Responder com Citação

Bom dia,

Tenho um campo que é preenchido com dados oriundos de um web services, e nesse campo contem uma imagem, mas o texto em si dá imagem, eu preciso transformar esse texto, que é um binario em uma imagem para poder visualizar.

Alguém tem algum exemplo de como poderia fazer isso?

Uma parte do "texto" que contém a imagem:

Citação:

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAGYATIDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD8gdIu
bW4RWtrmCZSQwaKRHDMS+AvzbjnHHzMMdGyBXdWUIYYwSTtHI4Iyx+8Dkk7W2+5HICEn5G0XUHs8
Pbko25RmPAAC7hGx+Ydk2nBGCQQSxOfUNJ8Y6jGP+PliowSG2kZBY5zuIGMDr7At/E3zsY2i9Ltp
X031atFNbrRtvpdtE80e/wCfn3fl+Wt3d/SdhGSvbI28qpBViz4I2nGMKRngDAXJIYHrrOL8WwBw
pbaS3DDJVeRjPHQnLkgivn7SvHtwgzMYWXPzD5VYksVIUEsdpPzL1A4O4AZr0HSfiDbA5khAAAVs
SAlWy2GbLEbgcZJ+UMWw2eDm4tN3etur7N2lo7P0V3a2qdkNNPZr+rrZu/2X/m938W/8FONE+0/B
vwdrSrk6X4ztoPNwdyxX+m6nGwZyTzvgh+U8hduTnYa/Nj9kv4NeFPjj8Qtd8GeKbq/tseC9e1XR
X0+VI5H1jT/srwCYFXMkIjMzvGuGfagDYBNfqj+3ZqreOfgXN4Z0Dw3retarPq2l6jA2nWbXUViN
PuGad7jyizos0LyiLERVpMfP5gAr81/2LNf074ZftFaBq/jm8HhjRodK8R2OqXOrLLYxwreaPeQQ
xyiUI37y5Mar6MAQMq4rqoTf1edt4tWd2rq61Wt/VeaTTSaeTteX9dZL80/x11u/EfhLdt4V+NPg
G9DlP7G8feHpJGJ27Rb67bht21gd2I8bs5BJ5GAT/YZZLFJAjbjlo4ju3BQQSSNxVc4ycMDkjnOS


Pode ser aberta em Bitmap ou JPEG!

Obrigado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
josivanl
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 9 de Julho de 2007
Mensagens: 126

MensagemEnviada: Sex Jul 11, 2014 10:55 am    Assunto: Re: Abrir Imagem Responder com Citação

Alguém pode me ajudar nessa situação?

Obrigado!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9100
Localização: Sinop-MT

MensagemEnviada: Sex Jul 11, 2014 1:57 pm    Assunto: Responder com Citação

salva o conteudo do campo em uma arquivo com a extensao do arquivo. veja um exemplo de uma funcao:

Código:
procedure SalvaImagem(Campo: TBlobField; Foto: TImage; Extensao: string);
var Arquivo: string;
begin
   if Campo.AsString <> '' then
   begin
      Arquivo := 'c:\fotos\foto.jpg';
      Campo.SaveToFile(Arquivo);
      Foto.Picture.LoadFromFile(Arquivo);
   end;
end;


ou entao use um DBimage q permita abrir jpg direto do campo. tente o componente no torry.net
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
josivanl
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 9 de Julho de 2007
Mensagens: 126

MensagemEnviada: Qua Jul 16, 2014 9:17 am    Assunto: Responder com Citação

Legal, vou fazer um teste.

Não existe nenhuma outra forma de ler essa imagem que está em base64 sem ter que salvar ela no disco, fazendo isso em memoria?

**Estou utilizando o Delphi 7 ainda!

Obrigado!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9100
Localização: Sinop-MT

MensagemEnviada: Qua Jul 16, 2014 1:41 pm    Assunto: Responder com Citação

vc pode usar Stream
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
josivanl
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 9 de Julho de 2007
Mensagens: 126

MensagemEnviada: Qua Jul 16, 2014 1:52 pm    Assunto: Responder com Citação

Tem algum exemplo que funcione para Delphi 7?

Obrigado!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
tiagoravache
Novato
Novato


Registrado: Quinta-Feira, 5 de Junho de 2014
Mensagens: 15
Localização: Apucarana- PR

MensagemEnviada: Qui Jul 17, 2014 10:17 am    Assunto: Responder com Citação

estou usando o XE5, para isso uso um componente IDEncoderMIME, e tem tbm o Decoder, verifica se tem esse componento para o delphi7, senão tem uma Unit que resolve isso tbm aqui: https://code.ohloh.net/file?fid=Y3UAVhw4WyI3ruW8g-7PMfunH7o&cid=Z9r9dsUOpvM&s=Base64.pas&browser=Default&fp=357116&mp&projSelected=true#L0
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
strak2012
Colaborador
Colaborador


Registrado: Segunda-Feira, 13 de Janeiro de 2014
Mensagens: 1518
Localização: Maceió - AL

MensagemEnviada: Qui Jul 17, 2014 12:49 pm    Assunto: Responder com Citação

as rotinas B64Encode e B64Decode não são indicada para codificar e decodificar arquivos binarios ou imagens são recomendadas mais para textos.

se querem codificar e decodificar um arquivo binario ou imagem para um banco de dados use o heximal.


nota:
-------------
em heximal
--------------------------------------------------------
o arquivo vai possuir duas vezes o tamanho original

exemplo:
-----------
se a imagem possui 500k ao passar para heximal vai ficar com o tamanho de 1m

-------------
em base64
--------------------------------------------------------
o arquivo vai possuir até quatro vezes o tamanho do original

exemplo:
-----------
se a imagem possui 500k ao passar para base64 vai ficar com o tamanho de 2m

no link a seguir escrevi uma rotina que pega um arquivo e transforma em um array de heximal vale apenas dá uma olhada:
http://www.activedelphi.com.br/forum/viewtopic.php?t=84854&highlight=
_________________
Tudo podemos quando tudo sabemos!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB