Erro em fotos do tipo *.jpg
Salvar imagem com qualquer estensão; *.bmp, *.jpg etc.
No momento que o usuário clica para abrir a foto da o seguinte erro:
(Bitmap image is not valid)
Na propriedade filter, do componente OpenPictureDialog não fiz nenhuma
alteração como no ex. abaixo:
(All (*.gif;*.jpg;*.jpeg;*.bmp;*.ico;*.emf;*.wmf)|*.gif;*.jpg;*.jpeg;*.bmp;*.ico;*.emf;*.wmf|CompuServe GIF Image (*.gif)|*.gif|JPEG Image File (*.jpg)|*.jpg|JPEG Image File (*.jpeg)|*.jpeg|Bitmaps (*.bmp)|*.bmp|Icons (*.ico)|*.ico|Enhanced Metafiles (*.emf)|*.emf|Metafiles (*.wmf)|*.wmf)
Para o usuário capturar a imagem coloquei os comandos abaixo no botão bitbtn:
If dsPadrao.State in [dsInsert, dsEdit] then
if OpenPictureDialog1.Execute then
begin
cdsPadraoCLI_FOTO.LoadFromFile(OpenPictureDialog1.FileName);
SalvarBtn.Enabled := True;
end;
O campo está definido como (blob Sub Type 0).
Utilizo os componentes do dbexpress para acesso ao banco.
Alguem poderia me dar a solução.
Grato pela atenção
Plácido/Ellen
No momento que o usuário clica para abrir a foto da o seguinte erro:
(Bitmap image is not valid)
Na propriedade filter, do componente OpenPictureDialog não fiz nenhuma
alteração como no ex. abaixo:
(All (*.gif;*.jpg;*.jpeg;*.bmp;*.ico;*.emf;*.wmf)|*.gif;*.jpg;*.jpeg;*.bmp;*.ico;*.emf;*.wmf|CompuServe GIF Image (*.gif)|*.gif|JPEG Image File (*.jpg)|*.jpg|JPEG Image File (*.jpeg)|*.jpeg|Bitmaps (*.bmp)|*.bmp|Icons (*.ico)|*.ico|Enhanced Metafiles (*.emf)|*.emf|Metafiles (*.wmf)|*.wmf)
Para o usuário capturar a imagem coloquei os comandos abaixo no botão bitbtn:
If dsPadrao.State in [dsInsert, dsEdit] then
if OpenPictureDialog1.Execute then
begin
cdsPadraoCLI_FOTO.LoadFromFile(OpenPictureDialog1.FileName);
SalvarBtn.Enabled := True;
end;
O campo está definido como (blob Sub Type 0).
Utilizo os componentes do dbexpress para acesso ao banco.
Alguem poderia me dar a solução.
Grato pela atenção
Plácido/Ellen
Placido
Curtidas 0
Respostas
Placido
09/08/2004
Salvar imagem com qualquer extensão; *.bmp, *.jpg etc.
No momento que o usuário clica para abrir a foto da o seguinte erro:
(Bitmap image is not valid)
Na propriedade filter, do componente OpenPictureDialog não fiz nenhuma
alteração como no ex. abaixo:
(All (*.gif;*.jpg;*.jpeg;*.bmp;*.ico;*.emf;*.wmf)|*.gif;*.jpg;*.jpeg;*.bmp;*.ico;*.emf;*.wmf|CompuServe GIF Image (*.gif)|*.gif|JPEG Image File (*.jpg)|*.jpg|JPEG Image File (*.jpeg)|*.jpeg|Bitmaps (*.bmp)|*.bmp|Icons (*.ico)|*.ico|Enhanced Metafiles (*.emf)|*.emf|Metafiles (*.wmf)|*.wmf)
Para o usuário capturar a imagem coloquei os comandos abaixo no botão bitbtn:
If dsPadrao.State in [dsInsert, dsEdit] then
if OpenPictureDialog1.Execute then
begin
cdsPadraoCLI_FOTO.LoadFromFile(OpenPictureDialog1.FileName);
SalvarBtn.Enabled := True;
end;
O campo está definido como (blob Sub Type 0).
Utilizo os componentes do dbexpress para acesso ao banco.
Observação: Só está aceitando gravar campos do tipo bmp, eu quero todos
Alguem poderia me dar a solução.
Grato pela atenção
Plácido/Ellen
GOSTEI 0
Emerson Nascimento
09/08/2004
se o erro ocorre quando seleciona imagens .jpg, adicione JPEG na cláusula uses da sua unit.
GOSTEI 0
Placido
09/08/2004
Emerson fiz o que você orientou , mas o problema persiste.
Grata :roll:
Grata :roll:
GOSTEI 0
Emerson Nascimento
09/08/2004
existem algum componente visual para mostrar a imagem? um TDBImage?
se houver, troque-o por um TImage e carregue a imagem manualmente.
se houver, troque-o por um TImage e carregue a imagem manualmente.
GOSTEI 0
Placido
09/08/2004
Continuo precisando de ajuda o erro persiste.
Alguem poderia da a solução para este problema que aparentemente parece ser simples, mas eu não estou conseguindo resolver.
Volto a dizer que está gravando somente imagens do tipo bmp, eu quero jpg tambem.
Grato
Alguem poderia da a solução para este problema que aparentemente parece ser simples, mas eu não estou conseguindo resolver.
Volto a dizer que está gravando somente imagens do tipo bmp, eu quero jpg tambem.
Grato
GOSTEI 0
Placido
09/08/2004
Conseguimos salvar no banco a imagem jpg, mas nao conseguimos retornar a imagem do banco com o componente TImagem. Alguem pode me dizer como faço para ler do banco para o TImagem???
Obs: Usando o LoadFromFile do componente funciona somente para ler de arquivos e não do banco de dados.
Grata
Ellen
Obs: Usando o LoadFromFile do componente funciona somente para ler de arquivos e não do banco de dados.
Grata
Ellen
GOSTEI 0
Emerson Nascimento
09/08/2004
adapte essa rotina que foi retirada do arquivo de 800 dicas Delphi, que pode ser baixado em:
[url]http://200.241.52.8/meep/lloydsoft/download_file.php?id=1[/url]
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;
[url]http://200.241.52.8/meep/lloydsoft/download_file.php?id=1[/url]
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;
GOSTEI 0