Jump to content


Photo

imprimir una imagen


  • Please log in to reply
14 replies to this topic

#1 edwin_simon

edwin_simon

    Member

  • Miembros
  • PipPip
  • 11 posts

Posted 08 August 2014 - 07:46 AM

Hola Buena
Como imprimo una imagen usando ReportBuilder, uso Delphi 7 y Access , pero solo guardo la dirección de la imagen en la Base de Datos.

gracias
  • 0

#2 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1750 posts
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Posted 08 August 2014 - 09:55 PM

Hola Buena
Como imprimo una imagen usando ReportBuilder, uso Delphi 7 y Access , pero solo guardo la dirección de la imagen en la Base de Datos.

gracias


Pues si ya tienes el nombre de la ruta, ya tienes la mitad del trabajo hecho. Poner un elemento de impresión de imagen en el reporte y asignarle al nombre el contenido de lo que guardaste en tu base de datos...
  • 0

#3 edwin_simon

edwin_simon

    Member

  • Miembros
  • PipPip
  • 11 posts

Posted 11 August 2014 - 07:38 AM

mil gracias TiammatMX, por tu ayuda, eso mismo estoy haciendo tanto en el evento onPrint, como el BeforePrint de la banda de impresión pero no me visualiza nada, este es el codigo que uso.


delphi
  1. // Agregar imágen
  2. procedure TForm1.BitBtn5Click(Sender: TObject);
  3. begin
  4. with Tbl_Fotos do
  5.   begin
  6.     if OpenDialog1.Execute then
  7.     begin
  8.       Append;
  9.       FieldByName('Codigo_Imagen').AsString:= Format('%.4d', [Cod]);
  10.       FieldByName('Imagen').AsString:= OpenDialog1.FileName;
  11.       Post;
  12.       Inc(Cod);
  13.     end;
  14.   end;
  15. end;


como puedo hacerlo?
  • 0

#4 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4111 posts
  • LocationMadrid - España

Posted 18 August 2014 - 04:41 AM



delphi
  1. uses
  2.   Windows, Printers;
  3.  
  4. //........................
  5.  
  6. procedure PrintBitmap(Bitmap: TBitmap);
  7. var
  8.   PrintHeight: integer;
  9. begin
  10.   Printer.BeginDoc;
  11.   PrintHeight:= MulDiv(Printer.PageWidth, Bitmap.Height, Bitmap.Width);
  12.   Windows.StretchBlt(Printer.Canvas.Handle, 0, 0, Printer.PageWidth, PrintHeight, Bitmap.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, SRCCOPY);
  13.   Printer.EndDoc;
  14. end;



Ejemplo de uso:



delphi
  1. var
  2.   Bitmap: TBitmap;
  3. begin
  4.   Bitmap:= TBitmap.Create;
  5.   Bitmap.LoadFromFile('Mi_Imagen.bmp');
  6.   PrintBitmap(Bitmap);
  7.   Bitmap.Free;
  8. end;




Saludos.
  • 0

#5 edwin_simon

edwin_simon

    Member

  • Miembros
  • PipPip
  • 11 posts

Posted 18 August 2014 - 06:42 AM

Gracias escafandra por la ayuda, pero estoy usando Report Builder, para tratar de imprimir
  • 0

#6 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2092 posts
  • LocationRepública Dominicana

Posted 20 August 2014 - 08:00 AM

Saludos.

Creo que @TiammatMX se refería algo como esto:

1.- Colocas un componente ppImage.
2.- En el evento BeforePrint del ppReport o de la banda colocas algo como


delphi
  1. ppImage1.Picture.LoadFromFile(TuQuery.FieldByName('RUTA_IMAGEN').AsString);

.
  • 0

#7 edwin_simon

edwin_simon

    Member

  • Miembros
  • PipPip
  • 11 posts

Posted 22 August 2014 - 08:06 AM

Mil Gracias TiammatMX, escafandra y Rolphy Reyes por su ayuda
  • 0

#8 edwin_simon

edwin_simon

    Member

  • Miembros
  • PipPip
  • 11 posts

Posted 22 August 2014 - 08:38 AM

Disculpa nuevamente como escribí lo anterior ya puedo visualizar e imprimir la foto, es que siempre mando a imprimir el registro que tengo en pantalla hasta el momento imprime muy bien, pero trate de imprimir todas la fotos pero siempre me imprime la misma alguien puedes decir me el porque?

gracias
  • 0

#9 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6296 posts
  • LocationArgentina

Posted 22 August 2014 - 08:56 AM

Disculpa nuevamente como escribí lo anterior ya puedo visualizar e imprimir la foto, es que siempre mando a imprimir el registro que tengo en pantalla hasta el momento imprime muy bien, pero trate de imprimir todas la fotos pero siempre me imprime la misma alguien puedes decir me el porque?

gracias

Va a ser necesario que nos des más luz amigo.  ;)
Da una muestra del código, tal como lo tienes, ¿Cómo es la consulta que le pones al reporte? ¿No estarás filtrando los datos? En principio por tu descripción pareciera que se trata de un pequeño desliz tuyo y no te mueves al siguiente registro pero para estar seguro debes describir con lujos y detalles tu caso a fin de detectar donde está el problema.
Recuerda que no estamos a tu lado y no podemos ver tu monitor.  :)

Saludos,
  • 0

#10 edwin_simon

edwin_simon

    Member

  • Miembros
  • PipPip
  • 11 posts

Posted 22 August 2014 - 12:32 PM

gracias Delphius
esta rutina la utiliza en el ppImage del Reporte


delphi
  1. procedure TForm1.ppImage2Print(Sender: TObject);
  2. begin
  3.       ppImage2.Picture.LoadFromFile(Tbl_Fotos.FieldByName('Imagen').AsString);
  4. end;



luego lo envio a la impresora normal


delphi
  1. procedure TForm1.BitBtn8Click(Sender: TObject);
  2. begin
  3.       ppReport2.PrintReport;
  4. end;


en el reporte visualizo todos los registro pero con la misma foto y quiero que cara registro tenga su foto.
  • 0

#11 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6296 posts
  • LocationArgentina

Posted 22 August 2014 - 04:23 PM

¿Cómo es la consulta que estás empleando en el reporte?
Por el código que estoy viendo pareciera ser que estás extrayendo la imagen desde otro DataSet,. De ser así asegúrate de que antes de empezar a imprimir cada registro se esté realizando un .Next sobre el DataSet en cuestión.

Sin ese Next se estará leyendo siempre el mismo registro.

Por cierto, emplea las etiquetas apropiadamente. Para el caso de delphi son válidas:

[nobbc]

delphi
  1.  





delphi
  1.  

[/nobbc]

Saludos,
  • 0

#12 edwin_simon

edwin_simon

    Member

  • Miembros
  • PipPip
  • 11 posts

Posted 25 August 2014 - 06:57 AM

hola buen día, espero este bien
Es verdad tiene razón, estaba usando el dataSet que no era.

gracias mil nuevamente
  • 0

#13 edwin_simon

edwin_simon

    Member

  • Miembros
  • PipPip
  • 11 posts

Posted 17 September 2014 - 11:21 AM

no se si pueda seguir escribiendo en este mensaje, pero el problemas es con el mismo tema, como ya es hablado del tema sabemos que no guardo la foto en la base de datos si no la dirección.

el problemas esta cuando general un reporte si algún registro no tiene foto me da una Exception Class, alguien como puedo solucionar este problemas?

mil gracias
  • 0

#14 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 832 posts
  • LocationMisiones, Argentina

Posted 17 September 2014 - 12:03 PM

Si no entiendo mal el problema, sería muy sencillo agregar al campo de la tabla un valor default para que acceda a una imagen que siempre existe. Es decir, cuando no haya imagen, se cargue una ficticia (dummy) por default, pero conviene cambiar este valor siempre que no se asigne otro y el mejor lugar es en la descripción del campo.

Saludos.

  • 0

#15 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 17 September 2014 - 02:10 PM



delphi
  1. if Tbl_Fotos.FieldByName('Imagen').AsString <> '' then
  2.   ppImage2.Picture.LoadFromFile(Tbl_Fotos.FieldByName('Imagen').AsString);



Saludos.

  • 0




IP.Board spam blocked by CleanTalk.