Fórum DBImage não funciona com imagem tipo JPEG em campo Blob #38590
08/09/2003
0
Tenho um cadastro de imagens e preciso mostrar em um form, entao tive a surpresa de q o componente DBImage não aceita tipo JPEG em campo blob do Firebird. Logo para resolver este problema coloquei um componente Image e fiz o seguinte:
var
Imagem : TMemoryStream;
begin
Imagem := TMemoryStream.Create;
try
TabelaIMAGEM.SaveToStream(Imagem);
Image1.Picture.Bitmap.LoadFromStream(Imagem)
finally
Imagem.Free;
end;
Pois este código não funcionou... Alguem poderia me ajudar a mostrar esta imágem? Não gostaria de ter q instalar um componentes tipo DBImage que aceite o tal do tipo JPEG.
Obrigado!
var
Imagem : TMemoryStream;
begin
Imagem := TMemoryStream.Create;
try
TabelaIMAGEM.SaveToStream(Imagem);
Image1.Picture.Bitmap.LoadFromStream(Imagem)
finally
Imagem.Free;
end;
Pois este código não funcionou... Alguem poderia me ajudar a mostrar esta imágem? Não gostaria de ter q instalar um componentes tipo DBImage que aceite o tal do tipo JPEG.
Obrigado!
Mutz
Curtir tópico
+ 0
Responder
Posts
09/09/2003
Romer
Eu uso o componente UMDBImage da paleta UtilMind...
Verifique na Internet...
Verifique na Internet...
Responder
Gostei + 0
09/09/2003
Afarias
|tive a surpresa de q o componente DBImage não aceita tipo JPEG em
|campo blob do Firebird.
Nao funciona com JPEG de qualquer q seja o BLOB, simplesmente nao suporta JPEG.
Segue um codigo exemplo:: (coloque o unit JPEG na sua USES)
var
Stm: TStream;
Jpg: TJPEGImage;
begin
with QueryImagem do
try
if TBlobField(FieldByName(´IMAGEM´)).BlobSize > 0 then
begin
try
Stm := TMemoryStream.Create;
Jpg := TJpegImage.Create;
TBlobField(FieldByName(´IMAGEM´)).SaveToStream(Stm);
Stm.Position := 0;
Jpg.LoadFromStream(Stm);
try
Image1.Picture.Assign(Jpg);
except
Image1.Picture.Assign(nil);
end;
finally
Stm.Free;
Jpg.Free;
end;
end else
Image1.Picture.Assign(nil);
except
// controle de erro
end;
end;
T+
|campo blob do Firebird.
Nao funciona com JPEG de qualquer q seja o BLOB, simplesmente nao suporta JPEG.
Segue um codigo exemplo:: (coloque o unit JPEG na sua USES)
var
Stm: TStream;
Jpg: TJPEGImage;
begin
with QueryImagem do
try
if TBlobField(FieldByName(´IMAGEM´)).BlobSize > 0 then
begin
try
Stm := TMemoryStream.Create;
Jpg := TJpegImage.Create;
TBlobField(FieldByName(´IMAGEM´)).SaveToStream(Stm);
Stm.Position := 0;
Jpg.LoadFromStream(Stm);
try
Image1.Picture.Assign(Jpg);
except
Image1.Picture.Assign(nil);
end;
finally
Stm.Free;
Jpg.Free;
end;
end else
Image1.Picture.Assign(nil);
except
// controle de erro
end;
end;
T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)