
imprimir una imagen
#1
Posted 08 August 2014 - 07:46 AM
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
#2
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...
#3
Posted 11 August 2014 - 07:38 AM
// Agregar imágen procedure TForm1.BitBtn5Click(Sender: TObject); begin with Tbl_Fotos do begin if OpenDialog1.Execute then begin Append; FieldByName('Codigo_Imagen').AsString:= Format('%.4d', [Cod]); FieldByName('Imagen').AsString:= OpenDialog1.FileName; Post; Inc(Cod); end; end; end;
como puedo hacerlo?
#4
Posted 18 August 2014 - 04:41 AM
uses Windows, Printers; //........................ procedure PrintBitmap(Bitmap: TBitmap); var PrintHeight: integer; begin Printer.BeginDoc; PrintHeight:= MulDiv(Printer.PageWidth, Bitmap.Height, Bitmap.Width); Windows.StretchBlt(Printer.Canvas.Handle, 0, 0, Printer.PageWidth, PrintHeight, Bitmap.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, SRCCOPY); Printer.EndDoc; end;
Ejemplo de uso:
var Bitmap: TBitmap; begin Bitmap:= TBitmap.Create; Bitmap.LoadFromFile('Mi_Imagen.bmp'); PrintBitmap(Bitmap); Bitmap.Free; end;
Saludos.
#5
Posted 18 August 2014 - 06:42 AM
#6
Posted 20 August 2014 - 08:00 AM
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
ppImage1.Picture.LoadFromFile(TuQuery.FieldByName('RUTA_IMAGEN').AsString);
.
#7
Posted 22 August 2014 - 08:06 AM
#8
Posted 22 August 2014 - 08:38 AM
gracias
#9
Posted 22 August 2014 - 08:56 AM
Va a ser necesario que nos des más luz amigo.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

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,
#10
Posted 22 August 2014 - 12:32 PM
esta rutina la utiliza en el ppImage del Reporte
procedure TForm1.ppImage2Print(Sender: TObject); begin ppImage2.Picture.LoadFromFile(Tbl_Fotos.FieldByName('Imagen').AsString); end;
luego lo envio a la impresora normal
procedure TForm1.BitBtn8Click(Sender: TObject); begin ppReport2.PrintReport; end;
en el reporte visualizo todos los registro pero con la misma foto y quiero que cara registro tenga su foto.
#11
Posted 22 August 2014 - 04:23 PM
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]
[/nobbc]
Saludos,
#12
Posted 25 August 2014 - 06:57 AM
Es verdad tiene razón, estaba usando el dataSet que no era.
gracias mil nuevamente
#13
Posted 17 September 2014 - 11:21 AM
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
#14
Posted 17 September 2014 - 12:03 PM
Saludos.
#15
Posted 17 September 2014 - 02:10 PM
if Tbl_Fotos.FieldByName('Imagen').AsString <> '' then ppImage2.Picture.LoadFromFile(Tbl_Fotos.FieldByName('Imagen').AsString);
Saludos.