Fórum Gravar imagem JPG - parte um milhão :P #276897
12/04/2005
0
Quero resolver d vez esse problema.
Nunca consegui gravar uma imagenzinha JPG sequer numa porcaria d banco...
Eu tava usando um código q achava q tinha resolvido. Mas constatei q o código converte a imagem em bmp antes d efetivamente gravar na base de dados. Segue:
procedure TForm1.Button1Click(Sender: TObject); var Image: TJPEGImage; begin if OpenPictureDialog1.Execute then begin Image := TJPEGImage.Create; Image.LoadFromFile(OpenPictureDialog1.FileName); Clipboard.Assign(Image); Table.Insert; DBImage1.PasteFromClipboard; Table.Post; Image.Free; end; end;
Eu quero gravar a imagem JPG do jeito q ela é, e não em bitmap ou outro formato. Fiz várias pesquisas no fórum, tentei as dicas do DTDelphi, e nada... Alguém daqui já disse: use Stream. tentei, não consegui. Quem já conseguiu fazer isso, peço encarecidamente q me informe...
Beppe, Aroldo Zanela, nildo, apelo pra vcs...
Ah, ia esquecendo: uso ADO.
Abraços, e meus mais sinceros agradecimentos pela atenção.
Tnaires
Curtir tópico
+ 0Posts
12/04/2005
Cleidsonbsilva
pulei algumas partes do codigo, so coloquei o que interessa.
var
BinFile: TMemoryStream;
Tabela: TIBQuery;
JPG: TJPEGIMAGE;
begin
JPG.Assign(image1.picture.bitmap);
BinFile := tmemorystream.Create;
jpg.SaveToStream(binfile);
Tabela.SQL.Add(
´INSERT INTO IMAGENS(PACIENTE_ID, IMAGEM_DATA, IMAGEM_BLOB, IMAGEM_NOME, IMAGEM_TIPO) ´ +
´VALUES (:PAC_ID, :PAC_NOME, :BlobData, :imagem_nome, :tipo)´);
// no meu caso, o parametro :BLOBDATA é que recebe a imagem...
Tabela.ParamByName(´BLOBDATA´).LoadFromStream(Binfile, ftblob);
Tabela.ExecSQL;
Espero ter ajudado...
Gostei + 0
12/04/2005
Tnaires
Abraços. Mais alguém?
Gostei + 0
12/04/2005
Tnaires
Abraços.
Gostei + 0
12/04/2005
Lucaniasalvatore
Existe um componente ótimo para se trabalhar com imagens e banco de dados Access opu outro qualquer, é o EDBImage 1.6 JPG.
Pode-se trabalhar com os formatos .ico .bmp .wmf .emf .jpg .jpeg., sem uma linha de código.
Pode copiar da área de transferência .bmp .wmf .jpg .jpeg. No evento ´OnLoadCustomImage´ você pode carregar qualquer tipo de imagem desconhecida gif, tiff, png,...
Tem ainda o componente TQREDBimage, que foi criado para imprimir arquivos de imagens. Com os mesmos destaques do componente TEDBImage. Após a instalação ele ficará disponível na paleta Data Controls, e o TQREDBimage na paleta QReport (Quick Report).
O endereço: [url]http://cc.borland.com/cc/ccweb.exe/listing?id=22742[/url]
É isso,
Boa programação
Lucania Salvatore
Gostei + 0
12/04/2005
Aroldo Zanela
Colega,
Testado e aprovado.
Gostei + 0
03/05/2005
Walfrido
Tem como de vc mandar o seus arquivos pra mim.
mande para este email: walfrido@com4.com.br
Desde já agradeço,
Gostei + 0
04/05/2005
Tnaires
Vc leu o arquivo LEIAME que vem com os arquivos de instalação? Se vc resolver não baixar a unit GraphicEx (que o autor do componente sugere baixar, e serve para dar suporte a outros formatos menos comuns), é necessário comentar uma linha no código da unit do DBEImage. Tá tudo bem explicado no LEIAME, talvez seu problema de instalação se origine daí.
Abraços
Gostei + 0
10/06/2005
Daniel_mc
Alguem saberia o que é este erro?
Daniel
Gostei + 0
13/06/2005
Daniel_mc
Gostei + 0
14/06/2005
Daniel_mc
Gostei + 0
15/06/2005
Daniel_mc
Náo deu este erro de ZoomtoFit náo? Qual versáo que vc testou? Server para Delphi 7?
Gostei + 0
21/06/2005
Daniel_mc
Gostei + 0
21/06/2005
Tnaires
Eu testei pra Access e pra SQL Server com Delphi 7, e funcionou perfeitamente. Inclusive eu altero essa propriedade ( ZoomToFit ) em tempo de execução, via código, e não dá erro.
Vc não instalou um arquivo pra uma versão diferente do Delphi não?
Veja também se vc num colocou um TDBImage comum por engano no seu programa.
Leia o arquivo leiame q vem com o componente pra tirar suas dúvidas.
Abraços
Gostei + 0
21/06/2005
Daniel_mc
Gostei + 0
21/06/2005
Sandra
Ao fazer o download na página indicada, verá os arquivos .dpk: DCLserXX e VCLserXX, onde XX é a indicação da versão do delphi onde vai ser instalado o componente.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)