Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   jpg longblob y report builder (https://www.clubdelphi.com/foros/showthread.php?t=76823)

vroa74 29-11-2011 16:18:10

jpg longblob y report builder
 
Tengo un problema con un reporte
En la base de datos tengo un campo longblob en el cual contiene imágenes jpg., las cuales fuero insertadas con el componente JvDBImagen de Jedi components.
Ahora lo que deseo es imprimir el campo longblob para lo cual uso el report builder
Agrego un reporte y lo configuro con un campo ppDBImage1, al cual se configura para que reciba un archivo jpg.
Antes de generar el reporte filtro el reporte para que quede un solo registro ya que debido a mis necesidades así es como lo requiero. Cuando manda a imprimir me sale.

http://yfrog.com/j6snap20111129090615001p
http://yfrog.com/c8snap20111129090711002p

la verdad es que el problema es cuando le pongo la imagen. Ya tengo varios días y no logro salir de este problema.

Casimiro Noteví 29-11-2011 17:01:45

El componente para imágenes de reportbuilder tiene la opción de seleccionar si se va a mostrar un bmp o un jpg. Seguramente tendrás que cambiarlo.
Botón derecho del ratón encima y sale un menú donde puedes cambiarlo.

vroa74 29-11-2011 17:22:58

si de hecho ya esta configurado para que reciba imagenes jpg, mas el problema sige

Al González 29-11-2011 18:01:37

Quizá el problema sea que la imagen no esté debidamente guardada en el campo o que no se esté accediendo al campo o al registro correcto.

Haz una prueba usando un objeto TppImage escribiendo un código como el siguiente en su evento OnPrint.
Código Delphi [-]
Var
  Flujo :TStream;
  Imagen :TJPEGImage;
begin
  ...

  // DataSet es el conjunto de datos (tabla / consulta) que contiene el registro a imprimir
  Flujo := DataSet.CreateBlobStream (DataSet.FieldByName ('CodigoBarras'), bmRead);

  Try
    Imagen := TJPEGImage.Create;

    Try
      Imagen.LoadFromStream (Flujo);
      imCodigoBarras.Picture.Graphic := Imagen;  // imCodigoBarras es el objeto TppImage
    Finally
      Imagen.Free;
    End;
  Finally
    Flujo.Free;
  End;
(Con las debidas unidades en las cláusulas Uses).

Es como lo hago en uno de mis reportes, sin que presente ningún problema.

Saludos. :)

vroa74 29-11-2011 19:49:58

hasta el momento no me esta funcionando o no le estoy entendiendo.
la forma en que cuardo la imagen es:

Código Delphi [-]
editar ;

   OpenPictureDialog1.Execute();
   JvDBImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

guardar;

La forma clásica.......
me sigo dando lata. bueno necesito imprimir lo visualizado en un campo JvDBImage1 ??? como puedo hacerlo ?????


La franja horaria es GMT +2. Ahora son las 23:21:03.

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