Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-01-2015
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 21
emeritos Va por buen camino
ver todas las imagenes en Base de datos

Hola Dilferos.

Necesito un compomente o como lo puedo hacer para ver de un golpe todas las imagenes de un fichero de una base de datos, algo asi como la rejilla pero solo ver imagenes. Despues haremos un tratamiento con ellas.

Gracias.
Responder Con Cita
  #2  
Antiguo 26-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Todas de golpe? ¿aunque haya cientocincuenta mil millones de imágenes?
Responder Con Cita
  #3  
Antiguo 26-01-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.732
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
¿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 [-]
// Variables
tamano : integer;
ILGaleria: TImageList;

// Valores iniciales
tamano := 50;

procedure TDMGaleriaImagen.CargaImageList(Lista: TListView);
var
  Imagen : TImage;
  Item : TListItem;
  RDim : TRect;
begin
  // Borro lo que hay en la lista
  Lista.Clear;

  // Asigno el tamaño que van a tener las miniaturas
  ILGaleria.Clear;
  ILGaleria.Height := Tamano;
  ILGaleria.Width := Tamano;

  RDim.Left := 0;
  RDim.Top := 0;
  RDim.Right := ILGaleria.Height;
  RDim.Bottom := ILGaleria.Width;

  // Carga de imagenes
  Imagen := TImage.Create(Self);
  try
     with QMGaleriaImagen do
     begin
        Close;
        Open;
        First;
        // Recorro la galería de imagenes
        while not EOF do
        begin
           // Agrego un ítem al TListView
           Item := Lista.Items.Add;
           Item.Caption := QMGaleriaImagen.FieldByName('NOMBRE').AsString;
           Item.Data := Pointer(QMGaleriaImagen.FieldByName('CODIGO').AsInteger);

           // Cargo la imagen con el Blob que corresponda de la tabla de imagenes
           Imagen.Picture := nil;
           DMMain.RefrescarImagen(Imagen, QMGaleriaImagenCODIGO.AsInteger);

           // Modifico el tamaño de la imagen
           Imagen.Picture.Bitmap.Canvas.StretchDraw(RDim, Imagen.Picture.Graphic);
           Imagen.Picture.Bitmap.Height := ILGaleria.Height;
           Imagen.Picture.Bitmap.Width := ILGaleria.Width;

           // Asigno la imagen del ImageList al ítem de TListView
           Item.ImageIndex := ILGaleria.Add(Imagen.Picture.Bitmap, nil);

           Next;
        end;
        Close;
     end;
  finally
     Imagen.Free;
  end;
end;
Responder Con Cita
  #4  
Antiguo 26-01-2015
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 21
emeritos Va por buen camino
¿Cómo están guardadas las imágenes? (Campos blob? todas en la misma tabla?) SI
¿Qué formato de imágenes son? jpg
¿Qué tamaño tienen las imágenes? tamaño original despues las puedo reducir
¿Qué tamaño quieres que tengan en la pantalla? pues en principio mucho más pequeñas y haciendo doble clic en ellas agrandarlas, es decir volcer a reducir el tamaño original como el 80% de la pantalla.


Muchas gracias probare la solucion que me has dado y te comentare.
Responder Con Cita
  #5  
Antiguo 27-01-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Thumbs up

Cita:
Empezado por emeritos Ver Mensaje
¿Qué tamaño quieres que tengan en la pantalla? pues en principio mucho más pequeñas y haciendo doble clic en ellas agrandarlas, es decir volcer a reducir el tamaño original como el 80% de la pantalla.
El problema de esto es que el tráfico de datos puede ser muy grande, dependiendo del tamaño real de las imágenes y de los registros a traer.
Creo que el tema del tamaño es porque tal vez te saldría a cuenta (si es que quieres acabar visualizando las imágenes) guardar una "copia en pequeño" (una miniatura) de cada imagen en la Base de Datos.
De esta forma, cuando te traes las imágenes en realidad lo que te traes son las "miniaturas" y sólo te traes la "imagen grande" cuando lo necesitas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Cómo buscar todas las coincidencias en una base de datos en un software de lotería? Master23 Varios 3 03-07-2010 20:19:21
Mostrar todas las Base de Datos en MySQL... DarkDrakon Conexión con bases de datos 8 10-03-2009 18:57:20
Imagenes en base de datos Esau Gráficos 4 04-02-2007 22:14:43
imagenes en base de datos davidgaldo Varios 0 14-04-2005 17:22:36
Guardar imagenes en una base de datos PTW Varios 1 09-04-2004 15:50:16


La franja horaria es GMT +2. Ahora son las 22:32:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi