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 21-07-2004
JoseQ JoseQ is offline
Miembro
 
Registrado: jul 2004
Posts: 167
Poder: 20
JoseQ Va por buen camino
imagenes en multiregistro

Buenas, tengo una tabla que entre otro campos contiene uno con la ruta de determinada imagen, estoy intentando mostrar en un multiregistro (DBctrlGrid) los campos de la tabla y la imagen que pone en el campo ruta, xo no me deja, me muestra siempre la 1ª foto, en todos los campos, alguna sugerencia de como se podria hacer?
Responder Con Cita
  #2  
Antiguo 21-07-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Poder: 20
ruina Va por buen camino
Con el evento OnPaintPanel, y dibujas la imagen en el canvas.

Código Delphi [-]
procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid; Index: Integer);
var
  Bitmap : TBitMap;
begin
  Bitmap := TBitmap.Create;
  try
    with Bitmap do begin
      LoadFromFile(ClientDataSet1ruta.AsString);
      DBCtrlGrid1.Canvas.Draw(1,1,BitMap);
    end;
  finally
    Bitmap.Free;
  end;
end;

te recomiendo hacer un findfile antes o poner un try except en el LoadFromFile, por si no existe la imagen.
Responder Con Cita
  #3  
Antiguo 21-07-2004
JoseQ JoseQ is offline
Miembro
 
Registrado: jul 2004
Posts: 167
Poder: 20
JoseQ Va por buen camino
Parece una buena solucion, pero, las imagenes no caben, osea, son demasido grandes, y no me deja ajustarlas, e intentado pintar las imagenes sobre un timage en strecht i propotyional, xo nada de nada, tambien e intentado explotar la funcion scale del JPEG, xo un octavo no es suficiente, y ademas si introduzco imagenes mas pequeñas que las estoy probrando se veria demasiado pequeño
Responder Con Cita
  #4  
Antiguo 21-07-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Poder: 20
ruina Va por buen camino
mira a ver este otro, usando StrechDraw:


Código Delphi [-]
procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid; Index: Integer);
var
  Bitmap : TBitMap;
  r:TRect;
begin
  Bitmap := TBitmap.Create;
  try
    with Bitmap do begin
      r:=Rect(1,1,50,50);
      try
          LoadFromFile(ClientDataSet1ruta.AsString);
          if (Height>r.Bottom-r.Top) or (Width>r.Right-r.Left) then
               DBCtrlGrid1.Canvas.StretchDraw(r,BitMap)
          else DBCtrlGrid1.Canvas.Draw(r.Left,r.Top,BitMap)
      except
           DBCtrlGrid1.Canvas.Brush.Color:=clWhite;
           DBCtrlGrid1.Canvas.FillRect(r);
           DBCtrlGrid1.Canvas.Pen.Color:=clred;
           DBCtrlGrid1.Canvas.PenPos:=r.TopLeft;
           DBCtrlGrid1.Canvas.LineTo(r.Bottom,r.Right);
           DBCtrlGrid1.Canvas.PenPos:=Point(r.Top,r.Right);
           DBCtrlGrid1.Canvas.LineTo(r.Bottom,r.left);
      end;
    end;
  finally
    Bitmap.Free;
  end;
end;
Responder Con Cita
  #5  
Antiguo 21-07-2004
JoseQ JoseQ is offline
Miembro
 
Registrado: jul 2004
Posts: 167
Poder: 20
JoseQ Va por buen camino
Perfecto !!!eres un crack, xD, Gracias, con el rect a 1,1,100,100 encaja a la perfeccion, GRacias de nuevo
Responder Con Cita
  #6  
Antiguo 21-07-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Poder: 20
ruina Va por buen camino
de nada hombre pa eso estamos ^_^
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


La franja horaria es GMT +2. Ahora son las 11:48:21.


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