Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-12-2005
fergape fergape is offline
Miembro
 
Registrado: oct 2005
Posts: 19
Poder: 0
fergape Va por buen camino
Smile cargar a un DBImage un jpg

tengo esto en el codigo

DBImage1.Picture.Bitmap.LoadFromFile(OpenPictureDialog1.FileName);

y me cargar un bmp a la base de datos sin problemas. el tema esta en que no puedo cargar un JPG. cuando se abre el OpenPictureDialog y elijo un JPG y me salta el siguiente error "Project1.exe raised exception class EInvalidGraphic with message 'Bitmap image is not valid'", me imagino que de esta forma no soporta bmp, pero mi pregunta es como se hace para levantar un JPG? y guardarlo en la Base de datos?
Responder Con Cita
  #2  
Antiguo 27-12-2005
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.282
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
¿Qué base de datos estás utilizando?
Haz una busqueda en los foros por "DBImage jpg" (sin comillas) y seuramente encontrarás lo que 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
  #3  
Antiguo 27-12-2005
fergape fergape is offline
Miembro
 
Registrado: oct 2005
Posts: 19
Poder: 0
fergape Va por buen camino
estoy utilizando SQLServer 2000 y el campo Foto es de tipo image
Responder Con Cita
  #4  
Antiguo 27-12-2005
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
Esto me funciona con Firebird.

Código Delphi [-]
procedure TFFicha.cargafoto; 
var
  BS: TStream;
  Graphic: TGraphic;
begin
 if FDM.qunafichafoto.isnull then // FDM: TDataModule   
  Image1.picture.graphic:=nil     // Image1: Timage
else
  begin
    BS := FDM.ficha.CreateBlobStream(FDM.qunaficha.FieldByName('foto'), bmRead);
    try
      Graphic := TJPEGImage.Create;
      try
        Graphic.LoadFromStream(BS);
        Image1.Picture := nil;
        Image1.picture.graphic := Graphic;
      Finally
        Graphic.Free;
      end;
    Finally
      BS.free;
    end;
  end;
end;
procedure TFFicha.SpeedButton1Click(Sender: TObject);
begin
  if OpenPictureDialog1.execute then
   if OpenPicturedialog1.filename <> '' then
     begin
       Image1.Picture.LoadFromFile(OpenPicturedialog1.filename);
       if not (FDM.IBT1.InTransaction) then
         FDM.IBT1.StartTransaction;
       try
         FDM.MODIFOTO.Parambyname('mcod').asinteger:=FDM.Qfichascodigo.asinteger; // MODIFOTO: procedimiento almacenado
         FDM.MODIFOTO.Parambyname('mfoto').LoadFromFile(OpenPictureDialog1.filename,ftBlob);
         FDM.MODIFOTO.ExecProc;
         FDM.IBT1.Commit;
       except
         FDM.IBT1.Rollback;
         raise Exception.Create('Error al grabar foto');
       end;
       FDM.Qfichas.open;        
     end;
end;
procedure TFFicha.SpeedButton3Click(Sender: TObject);
begin
  Image1.Picture := nil;
  if not (FDM.IBT1.InTransaction) then
    FDM.IBT1.StartTransaction;
  try
    FDM.MODIFOTO.Parambyname('mcod').asinteger:=FDM.Qfichascodigo.asinteger;
    FDM.MODIFOTO.Parambyname('mfoto').value:=null;
    FDM.MODIFOTO.ExecProc;
    FDM.IBT1.Commit;
  except
    FDM.IBT1.Rollback;
    raise Exception.Create('Error al eliminar foto');
  end;
  FDM.Qfichas.open;
end;

Saludos.
Responder Con Cita
  #5  
Antiguo 27-12-2005
fergape fergape is offline
Miembro
 
Registrado: oct 2005
Posts: 19
Poder: 0
fergape Va por buen camino
gracias Loviedo!
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 12:48:19.


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