Ir al contenido



Foto

imprimir una imagen


  • Por favor identifícate para responder
14 respuestas en este tema

#1 edwin_simon

edwin_simon

    Member

  • Miembros
  • PipPip
  • 11 mensajes

Escrito 08 agosto 2014 - 07:46

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
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 08 agosto 2014 - 09:55

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 mensajes

Escrito 11 agosto 2014 - 07:38

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

  • Moderadores
  • PipPipPip
  • 3.940 mensajes
  • LocationMadrid - España

Escrito 18 agosto 2014 - 04:41



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 mensajes

Escrito 18 agosto 2014 - 06:42

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

#6 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 20 agosto 2014 - 08:00

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 mensajes

Escrito 22 agosto 2014 - 08:06

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

#8 edwin_simon

edwin_simon

    Member

  • Miembros
  • PipPip
  • 11 mensajes

Escrito 22 agosto 2014 - 08:38

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
  • 6.286 mensajes
  • LocationArgentina

Escrito 22 agosto 2014 - 08:56

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 mensajes

Escrito 22 agosto 2014 - 12:32

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
  • 6.286 mensajes
  • LocationArgentina

Escrito 22 agosto 2014 - 04:23

¿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 mensajes

Escrito 25 agosto 2014 - 06:57

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 mensajes

Escrito 17 septiembre 2014 - 11:21

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
  • 824 mensajes
  • LocationMisiones, Argentina

Escrito 17 septiembre 2014 - 12:03

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
  • 7.409 mensajes
  • LocationRepública Dominicana

Escrito 17 septiembre 2014 - 02:10



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



Saludos.

  • 0