Ver Mensaje Individual
  #5  
Antiguo 12-12-2024
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: 19.435
Reputación: 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
Cita:
Empezado por MARIO2019 Ver Mensaje
Buenos dias, tengo un proyecto donde he cargado la foto con formato jpg en una tabla (Campo foto (blob)) de estudiante. En un DBGRID tengo los datos de los estudiantes. Lo que necesito es que al posicionarme en una fia del DBGRID se visualice la foto del estudiante en un TIMAGE.

Antes no tenia problema al cargar imagenes con formato BMP, pero al cargar imagen con otro formato (JPG), DBIMAGE me quedo obsoleto
Te adjunto un procedimiento que te permite cargar en un TImage, una imagen almacenada en un campo de una base de datos (ya sea BMP o JPG).
Necesitas pasarle el campo de Tipo BLOB, la extensión y el TImage donde quieres que te la dibuje.
Es de los ejemplos que puedes encontrar en el FTP del Club.

Código Delphi [-]
procedure MostrarCampoJPGImage(FieldImagen:TBlobField; ext:string; Picture:TPicture);
var
  Stream: TMemoryStream;
  Jpg: TGraphic;
begin
  Jpg := nil;
  Stream := nil;
  try
    Stream := TMemoryStream.Create;
    FieldImagen.SaveToStream(Stream);
    if Stream.Size > 0
     then begin
          if AnsiUpperCase(ext)='.BMP' then
           Jpg := TBitmap.create
          else
           Jpg := TJpegImage.Create;

           Stream.Position := 0;
           Jpg.LoadFromStream(Stream);
           Picture.Assign(Jpg);
         end
     else Picture.Assign(nil);
  except
    Picture.Assign(nil);
  end;
  jpg.Free;
  Stream.Free;
end;


Para llamarlo puedes hacer de una de estas formas:

Código Delphi [-]
  // para una imagen JPG
  MostrarCampoJPGImage(Table1Imagen, '.jpg', Image2.Picture);
  // para un BMP
  MostrarCampoJPGImage(Table1Imagen, '.bmp', Image2.Picture);


Table1Imagen es el campo de tipo blob de tu tabla
__________________
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