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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-04-2014
camiz camiz is offline
Miembro
 
Registrado: ene 2012
Posts: 69
Poder: 13
camiz Va por buen camino
Cargar imagenes desde una base de datos a un TImageList

hola amigos del foro, tengo un problemita quiero hacer un formulario que sirva para mostrar muchas imágenes. Que servirán para seleccionar y asignarle dicha imagen a un registro. ahora las imágenes que quiero mostrar están en bd, quiero mostrarlo por medio de un TListView, pero para eso nesecito cargar las imágenes a un TImageList para vincularlo al TListView.

ahora me gustaría saber si es posible cargar imágenes desde una base de datos a un TImageList o tengo que hacerlo de otra manera o existe un componente que haga este trabajo.

por el momento estoy tratando con este código pero no funciona.

Código Delphi [-]
var
  S: TStream;
  Graphic: TGraphic;
begin
  with IMG do
  begin
   SQL.Clear;
   SQL.Text := 'select * from img order by idimg asc';
   Active := True;

   First;
   While Not Eof Do
   begin

     S := Oficios.CreateBlobStream(Oficios.FieldByName('IMAGEN'), bmRead);
     try
       Graphic := TPNGImage.Create;
       try
        Graphic.LoadFromStream(S);
        IMGList_48.Items.Add.Assign(Graphic);
       Finally
        Graphic.Free;
       end;
     Finally
      S.free;
     end;


     Next;
   end;
   Active := False;
  end;

espero su ayuda.
Responder Con Cita
  #2  
Antiguo 18-04-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola camiz.

Un ejemplo:
Código Delphi [-]
uses pngimage;

procedure TForm1.btnLoadPngClick(Sender: TObject);
var
  i: Integer;
  it: TListItem;
  B: TBitmap;
  P: TPNGObject;
begin
  IBQuery1.First;
  for i:= 0 to 30 do
  begin
    it:= ListView1.Items.Add;
    it.ImageIndex:= i;
    P:= TPNGObject.Create;
    B:= TBitmap.Create;
    try
      P.Assign(TBlobField(IBQuery1.FieldByName('BANDERA')));
      B.Width:= P.Width;
      B.Height:= P.Height;
      B.PixelFormat:= pf24bit;
      P.Draw(B.Canvas, Rect(0, 0, P.Width, P.Height));
      ImageList1.Add(B, B);
    finally
      P.Free;
      B.Free;
    end;
    IBQuery1.Next;
  end;
  ListView1.LargeImages:= ImageList1;
end;

Salida:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 19-04-2014
camiz camiz is offline
Miembro
 
Registrado: ene 2012
Posts: 69
Poder: 13
camiz Va por buen camino
ecfisa, me diste justo la respuesta correcta que necesitaba, gracias por tomarte el tiempo en responder mi inquietud. Gracias amigo.

adaptandolo a mi proyecto quedo asi, por si acaso a alguien le hace falta.

Código Delphi [-]
var
  i: Integer;
  it: TListItem;
  B: TBitmap;
  P: TPNGObject;
begin
  with Query do
  begin
   SQL.Clear;
   SQL.Text := 'select * from img order by idimg asc';
   Active := True;

  First;
  for i:= 0 to RecordCount -1 do
  begin
    it:= ListView1.Items.Add;
    it.Caption := '   '+FieldByName('NOMBRE').AsString;
    it.ImageIndex:= i;
    P:= TPNGObject.Create;
    B:= TBitmap.Create;
    try
      P.Assign(TBlobField(FieldByName('IMAGEN')));
      B.Width:= P.Width;
      B.Height:= P.Height;
      B.PixelFormat:= pf24bit;
      P.Draw(B.Canvas, Rect(0, 0, P.Width, P.Height));
      ImageList1.Add(B, B);
    finally
      P.Free;
      B.Free;
    end;
    Next;
  end;
  ListView1.LargeImages:= ImageList;
  end;
Responder Con Cita
Respuesta



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
cargar base de datos desde un .sql MOCOSO07 MySQL 3 26-11-2009 23:47:02
cargar imagenes en un TImageList miguel_e Varios 2 01-08-2008 14:42:15
Como puedo Cargar una Grilla con Imagenes de una Base de Datos.???? DANNY777 Gráficos 3 17-05-2007 23:15:30
Crear base de datos y cargar datos desde delphi Albano MySQL 4 17-05-2007 20:01:18
Cargar desplegable desde base de datos melanthea JAVA 0 07-09-2004 14:03:09


La franja horaria es GMT +2. Ahora son las 09:20:30.


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