joemil
Moderador
Moderador


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

Mensagem Enviada: Qui Mar 30, 2017 9:03 am Assunto: tenta abrir no paint e salvar novamente pra ver se corrige
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b> Enviar imagens: http://tinypic.com/ conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

Mensagem Enviada: Qui Mar 30, 2017 10:04 am Assunto: Eu tive este mesmo problema dias atrás. Por não ter muito tempo, preferi usar o caminho descrito no banco.
_________________
Luciano Moraes 1º curso de Pascal em 1998.
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3080
Localização: Belo Horizonte - MG

Mensagem Enviada: Qui Mar 30, 2017 10:30 am Assunto: Se você tentar carregar um arquivo de outra extensão para uma variável do tipo JPEG pode ocorrer este erro.
_________________
''A persistência é o caminho para o êxito.'' Charlie Chaplin
conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

Mensagem Enviada: Qui Mar 30, 2017 10:46 am Assunto: conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

Mensagem Enviada: Qui Mar 30, 2017 11:50 am Assunto: Desculpe-me insistir mas, não me lembro de declarar a unit jpeg, ou de ler sobre isto em minhas pesquisas. Mas detalhando o que fiz, foi criar um campo blob no Interbase. E pelo Delphi gravei a imagem com um dbMemo. A imagem é jpg, mas fica registrada sem extensão no banco, como eu entendo. Apesar de descontinuar isto, pois tomei um pau desg#@%&*, eu gostaria ainda de voltar a usar isto.
_________________
Luciano Moraes 1º curso de Pascal em 1998.
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10646
Localização: Contagem/MG - BRAZIL

Mensagem Enviada: Qui Mar 30, 2017 1:41 pm Assunto: conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

Mensagem Enviada: Qui Mar 30, 2017 4:13 pm Assunto: Sendo assim, vou testar e posto o resultado aqui. Agradecido.
_________________
Luciano Moraes 1º curso de Pascal em 1998.
strak2012
Colaborador
Colaborador


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

Mensagem Enviada: Qui Mar 30, 2017 4:44 pm Assunto: conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

Mensagem Enviada: Qui Mar 30, 2017 4:50 pm Assunto: Como eu disse, eu gravei a imagem com o auxílio de um componente TDBMemo. Ao consultar o registro, a imagem aparece normalmente. Quer dizer que no banco está bem. Se a imagem "estivesse ruim" nem apareceria na consulta do registro, penso eu.
_________________
Luciano Moraes 1º curso de Pascal em 1998.
conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

Mensagem Enviada: Qui Mar 30, 2017 4:55 pm Assunto: Mas strak2012, acho que é isso mesmo que o autor do tópico está fazendo. (conforme você deu o exemplo do passado).
_________________
Luciano Moraes 1º curso de Pascal em 1998.
strak2012
Colaborador
Colaborador


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

Mensagem Enviada: Qui Mar 30, 2017 5:22 pm Assunto: Como eu disse, eu gravei a imagem com o auxílio de um componente TDBMemo. Ao consultar o registro, a imagem aparece normalmente. Quer dizer que no banco está bem. Se a imagem "estivesse ruim" nem apareceria na consulta do registro, penso eu. Me parece que não, quando usado um campo blob ou outro similar me parece que a imagem não vai toda na intigra para o banco e sim a class TGraphic é que vai ser armazenada juntamente com seu conteudo, que por sua vez pode possuir alguma referencia do tipo de imagem que estar em seu conteudo Só que TGraphic não é um TJPEGImage e és onde muitas das vezes se encontra o problema. O melhor é tratar tudo com TGraphic momento antes do LoadFromStream.
_________________
Tudo podemos quando tudo sabemos!
strak2012
Colaborador
Colaborador


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

Mensagem Enviada: Qui Mar 30, 2017 9:59 pm Assunto: // uses // Vcl.Imaging.jpeg, Vcl.Imaging.pngimage, Vcl.Imaging.GIFImg -> para delphis recente // jpeg, pngimage, GIFImg -> para delphis antigos   vStream: TMemoryStream;   ImageJPG: TJPEGImage;   ImageBMP: Tbitmap;   ImagePNG: TPngImage;   ImageGIF: TGIFImage;   Header: array [0 .. 9] of byte;   StrHeader: string;   I: integer; begin   vStream := TMemoryStream.Create;   TBlobField(Modulo1.Q_Imagem.FieldByName('foto')).SaveToStream(vStream);   vStream.Position := 0;   vStream.ReadBuffer(Header, length(Header));   vStream.Position := 0;   StrHeader := '';   for I := Low(Header) to High(Header) do     if (Header[I] >= 32) and (Header[I] <= 128) then       StrHeader := StrHeader + char(Header[I]);   if pos('JFIF', StrHeader) <> 0 then // arquivo ImageJPG, JPEG   begin     ImageJPG := TJPEGImage.Create;     ImageJPG.LoadFromStream(vStream);     Image2.Picture.Assign(ImageJPG);     ImageJPG.free;   if pos('PNG', StrHeader) <> 0 then // arquivo ImagePNG   begin     ImagePNG := TPngImage.Create;     ImagePNG.LoadFromStream(vStream);     Image2.Picture.Assign(ImagePNG);     ImagePNG.free;   if pos('GIF', StrHeader) <> 0 then // arquivo ImageGIF   begin     ImageGIF := TGIFImage.Create;     vStream.LoadFromStream(vStream);     Image2.Picture.Assign(ImageGIF);     ImageGIF.free;   if pos('BM', StrHeader) <> 0 then // arquivo ImageBMP   begin     ImageBMP := Tbitmap.Create;     ImageBMP.LoadFromStream(vStream);     Image2.Picture.Assign(ImageBMP);     ImageBMP.free;   Image2.Repaint;   Image2.Refresh; end;
_________________
Tudo podemos quando tudo sabemos!
strak2012
Colaborador
Colaborador


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

Mensagem Enviada: Qui Mar 30, 2017 10:00 pm Assunto: conorte
Experiente
Experiente


Registrado: Quinta-Feira, 8 de Mai de 2014
Mensagens: 406
Localização: Porto Alegre/RS

Mensagem Enviada: Sex Mar 31, 2017 10:07 am Assunto: Obrigado strak2012. Pela manhã cedo li o seu último post. Porque eu não vi ontem a noite o seu post? Que droga. Notei que você usa SaveToStream. Então lembrei que eu uso LoadToStream. Na correria não vi que o autor também usa o mesmo que você. Vou tentar depois usando o que você sugeriu mas com LoadFromStream (ou LoadToStream, não lembro agora). A propósito, eu já tinha pesquisado algo do tipo da sua sugestão.
_________________
Luciano Moraes 1º curso de Pascal em 1998.