PDA

Ver la Versión Completa : Como visualizar miniaturas de imagenes de un campo en una tabla sqllite


juank1971
30-05-2013, 23:52:41
Hola Amigos:
estoy tratando de ver unas miniaturas aunque no demasido pequeñas, es una base de datos de peliculas para un sobrino que las alquila, la base esta en sqlite, el delphi que uso es xe
y quiero ver varias imagenes medianas al unisono,

he probado varios componentes que lo hacen como los devexpress y tms pero no encuentro lo que verdaderamente quiero, porque cuando pongo unas cuantas a la vez digamos unas 100, no corre el scroll normalmente se traba un poco.

o sea quiero ver un campo blob, en sqlite que contiene las imagenes de las caratulas y poder navegar a traves de ellas que como lo he visto hacer en disimiles herramientas no creo que delphi no me de esa posibilidad.

Casimiro Notevi
30-05-2013, 23:58:38
No se entiende lo que preguntas, quieres ver imágenes, pero dices que ves 100 a la vez, luego dices que puede que delphi no tenga esa posibilidad :confused:
Creo que hace falta que aclares bien lo que quieres.

juank1971
31-05-2013, 18:10:05
cierto casimiro se me iba la guagua y escribi apurado que ni yo mismo me entendí, disculapa,

es sencillo tengo las caratulas guardadas como campo blob en una tabla, con otros campos con el nombre de la pelicula y eso, genero etc.
lo que quiero es visializarlas digamos en varias miniaturas, como escoger genero , accion y que me salgasn todas las peliculas de accion en miniaturas, no demasiado pequeñas para poder ver bien la imagen de la caratula, y poder hacer un scroll de ellas sin que se maree el delphi en se escroll.

los componentes que he usado son los devexpress, en las vistas de card, y cuando muestro un grupo de imagenes medianamente grande se marea un poco al hacer scroll, no quiere decir que no se vea, se ven bien pero lento .

otro componente que probe es el TAdvSmoothImageListBox de los tms , y tambien sufrí lo mismo con el scroll, se frizza un poco cuando son unas cuantas.

la manera de cargar las imagenes a la base de datos en sqlite que estoy usando es la siguiente:


procedure TForm4.Insertaimagen(Camino: string);
var
fs: TFileStream;
blob: TStream;
begin
try
If Not (datamodule1.Multimedias.State = dsEdit) or Not (datamodule1.Multimedias.State = dsInsert) Then
datamodule1.Multimedias.Edit;

blob := datamodule1.Multimedias.CreateBlobStream
(datamodule1.Multimedias.FieldByName('caratula'), bmWrite);

blob.Seek(0, soFromBeginning);

fs := TFileStream.Create(camino,
fmOpenRead or fmShareDenyWrite);
try
blob.CopyFrom(fs, fs.Size)
finally
fs.Free
end;
finally
blob.Free
end;
end;



alguna idea