jpg en Dataset (segunda entrega)
Publicado por Delfino (1216 intervenciones) el 24/03/2004 22:41:18
Al ver q muchos foristas se molestan muy poco en buscar respuesta a sus preguntas en el historico del foro, republico este truco q facilita guardar y visualizar imagenes jpg en cualquier motor de BD mediante Delphi.
procedure TForm1.DataSourceDataChange(Sender: TObject; Field: TField);
var bs : TStream; jp : TJpegImage; buff: Word;
begin
bs := DataSet.CreateBlobStream(CampoBlob,bmRead);
try
bs.Seek(0,soFromBeginning);
if bs.Read(buff,2) > 0 then
begin
bs.Seek(0, soFromBeginning);
case buff of
$4D42: image1.Picture.Bitmap.LoadFromStream(bs);
$0000: image1.Picture.Icon.LoadFromStream(bs);
$0001,$CDD7: image1.Picture.Metafile.LoadFromStream(bs);
$D8FF: begin
jp := TJpegImage.Create;
jp.LoadFromStream(bs);
image1.Picture.Assign(jp);
FreeAndNil(jp);
end
else image1.Picture := nil;
end;
end;
finally
FreeAndNil(bs);
end;
end;
esto para visualizar las jpg, para guardarlos nada mas facil q
campoblob.loadfromfile(archivo);
espero q sirva..
procedure TForm1.DataSourceDataChange(Sender: TObject; Field: TField);
var bs : TStream; jp : TJpegImage; buff: Word;
begin
bs := DataSet.CreateBlobStream(CampoBlob,bmRead);
try
bs.Seek(0,soFromBeginning);
if bs.Read(buff,2) > 0 then
begin
bs.Seek(0, soFromBeginning);
case buff of
$4D42: image1.Picture.Bitmap.LoadFromStream(bs);
$0000: image1.Picture.Icon.LoadFromStream(bs);
$0001,$CDD7: image1.Picture.Metafile.LoadFromStream(bs);
$D8FF: begin
jp := TJpegImage.Create;
jp.LoadFromStream(bs);
image1.Picture.Assign(jp);
FreeAndNil(jp);
end
else image1.Picture := nil;
end;
end;
finally
FreeAndNil(bs);
end;
end;
esto para visualizar las jpg, para guardarlos nada mas facil q
campoblob.loadfromfile(archivo);
espero q sirva..
Valora esta pregunta


0