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 

Jpeg me ajudem !

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


Registrado: Domingo, 5 de Janeiro de 2003
Mensagens: 33

MensagemEnviada: Ter Mai 20, 2003 8:58 pm    Assunto: Jpeg me ajudem ! Responder com Citação

Ola pessoal !

Estou com a seguinte duvida e questionamento tenho o seguinte código para incluir uma imagem JPG ou JPEG


if OpenPictureDialog1.Execute
then
begin
DataModule1.TabIncCad.edit;
DbImage1.Picture.LoadFromFile(OpenPictureDialog1.Filename);
End

Que todo mundo conhece, e declaro em uses a unit jpeg, não entendo e o porque a o OpenPictureDialog trás de default JPG ou JPEG so serve para visualizar o formato que e carregado no DbImage1 porem quando você grava a informações o conteúdo do DbImage1, isto é , os arquivos JPG ou JPEG não são gravados . Consegui o seguinte código para gravar estes formatos em tabelas paradox


Procedure Grava_Imagem_JPEG(Tabela:TTable; Campo:TBlobField;
Foto:TImage; Dialog:TOpenPictureDialog);
var BS:TBlobStream;
MinhaImagem:TJPEGImage;
Begin
Dialog.InitialDir := \'c:\\temp\';
Dialog.Execute;
if Dialog.FileName <> \'\' Then
Begin
if not (Tabela.State in [dsEdit, dsInsert]) Then
Tabela.Edit;
BS := TBlobStream.Create((Campo as TBlobField), BMWRITE);
MinhaImagem := TJPEGImage.Create;
MinhaImagem.LoadFromFile(Dialog.FileName);
MinhaImagem.SaveToStream(BS);
Foto.Picture.Assign(MinhaImagem);
BS.Free;
MinhaImagem.Free;
Tabela.Post;
DBISaveChanges(Tabela.Handle);
End;
End;
procedure TForm1.Button1Click(Sender: TObject);
begin
Grava_Imagem_JPEG(TbClientes,TbClientesCli_Foto, Image1,
OpenPictureDialog1);
// TbClientes é o nome de alguma Tabela
// TbClientesCli_Foto é um variavel da tabela do tipo Blob
// Image1 é um componente
// OpenPictureDialog1 é o componente para abrir a figura
end;


e para ler


Procedure Le_Imagem_JPEG(Campo:TBlobField; Foto:TImage);
var BS:TBlobStream;
MinhaImagem:TJPEGImage;
Begin
if Campo.AsString <> \'\' Then
Begin
BS := TBlobStream.Create((Campo as TBlobField), BMREAD);
MinhaImagem := TJPEGImage.Create;
MinhaImagem.LoadFromStream(BS);
Foto.Picture.Assign(MinhaImagem);
BS.Free;
MinhaImagem.Free;
End
Else Foto.Picture.LoadFromFile(\'c:\\temp\\limpa.jpg\');
End;
procedure TForm1.Button1Click(Sender: TObject);
begin
Le_Imagem_JPEG(TbClientesCli_Foto, Image1);
// TbClientesCli_Foto é um variavel da tabela do tipo Blob
// Image1 é um componente
end;


e adaptei para minha necessidade da seguinte forma


procedure TFormIncCad.ActionAdqImgFileExecute(Sender: TObject);
var
BS:TBlobStream;
ImagJPG:TJPEGImage;
begin
{ if OpenPictureDialog1.Execute
then
begin
DataModule1.TabIncCad.edit;
DbImage1.Picture.LoadFromFile(OpenPictureDialog1.Filename);
end }

if OpenPictureDialog1.Execute then
Begin
if OpenPictureDialog1.FileName <> \'\' Then
Begin
DataModule1.TabIncCad.Edit;
BS := TBlobStream.Create((DataModule1.TabIncCadFoto as TBlobField), BMWRITE);
ImagJPG := TJPEGImage.Create;
ImagJPG.loadFromFile(OpenPictureDialog1.FileName);
ImagJPG.SaveToStream(BS);
DbImage1.Picture.Assign(ImagJPG);
BS.Free;
ImagJPG.Free;
//check(DBISaveChanges(DataModule1.TabIncCad.Handle));

End
End

end;

Estou com dois problemas , um e a respeito do “DBISaveChanges” em que unit se encontra esta função e o outro e que quando seleciono a imagem e clico em abrir recebo a seguinte mensagem EInvalidGraphic with massege “Bitmap image not is valid”. Alguem me ajude resolver ou se tiver uma sugestão eficaz para inclusão e leitura de JPG e JPEG comvisualização apartir de DBImage eu agradeço muito.
_________________
Washington M. almeida

_________________
WASHINGTON M. ALMEIDA
washington@skysat.com.br
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular 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