Realmente es sencillo de realizar, el viernes pasado estove trabajando en algo parecido, porque las imágenes BMP me parecen un desperdicio de espacio, esto fue a lo que llegue.
para guardar las imágenes utiliza es código:
Código Delphi
[-]
var
fs : TFileStream;
blob : TStream;
begin
If OpenPictureDialog1.Execute Then
Begin
try
If Not (TablaImages.State = dsEdit) or Not (TablaImages.State = dsInsert) Then
TablaImages.Edit;
blob := TablaImages.CreateBlobStream(TablaImages.FieldByName('CAMPO_IMAGEN'),
bmWrite);
blob.Seek(0, soFromBeginning);
fs := TFileStream.Create(OpenPictureDialog1.FileName, fmOpenRead or
fmShareDenyWrite);
try
blob.CopyFrom(fs, fs.Size)
finally
fs.Free
end;
finally
blob.Free
end;
Ahora, el componente TDBImage no puede visualsiliar imágenes que no sean BMP, así que como siempre, utilizaremos decendientes para la tarea. El componente que utilizo se llama
TEDBImage, lo puedes encontrar en Torry.net.
Saludos.
P.D: Con este componente tambien visualizar varios tipos de imágen incluyendo PNG, WMF, ICO y muchos más.
Estoy casi seguro que con este ejemplo puedes almacenar imágenes en cualquier tipo de DB, siempre y cuando utilizes controles decendientes de TDataset.