¿Cómo están guardadas las imágenes? (Campos blob? todas en la misma tabla?)
¿Qué formato de imágenes son?
¿Qué tamaño tienen las imágenes?
¿Qué tamaño quieres que tengan en la pantalla?
Se me ocurre que podrías leerlas una a una, reducirlas de tamaño y ponerlas en un ListView.
Yo lo hago así:
Código Delphi
[-]
tamano : integer;
ILGaleria: TImageList;
tamano := 50;
procedure TDMGaleriaImagen.CargaImageList(Lista: TListView);
var
Imagen : TImage;
Item : TListItem;
RDim : TRect;
begin
Lista.Clear;
ILGaleria.Clear;
ILGaleria.Height := Tamano;
ILGaleria.Width := Tamano;
RDim.Left := 0;
RDim.Top := 0;
RDim.Right := ILGaleria.Height;
RDim.Bottom := ILGaleria.Width;
Imagen := TImage.Create(Self);
try
with QMGaleriaImagen do
begin
Close;
Open;
First;
while not EOF do
begin
Item := Lista.Items.Add;
Item.Caption := QMGaleriaImagen.FieldByName('NOMBRE').AsString;
Item.Data := Pointer(QMGaleriaImagen.FieldByName('CODIGO').AsInteger);
Imagen.Picture := nil;
DMMain.RefrescarImagen(Imagen, QMGaleriaImagenCODIGO.AsInteger);
Imagen.Picture.Bitmap.Canvas.StretchDraw(RDim, Imagen.Picture.Graphic);
Imagen.Picture.Bitmap.Height := ILGaleria.Height;
Imagen.Picture.Bitmap.Width := ILGaleria.Width;
Item.ImageIndex := ILGaleria.Add(Imagen.Picture.Bitmap, nil);
Next;
end;
Close;
end;
finally
Imagen.Free;
end;
end;