Buenas tardes con todos,
Tengo un problema al imprimir una imagen usando la clase TPRINT,
Resulta que se desea imprmir unas fotos entre dos parrafos de texto de un documento , pero simpre sucede que al intentar una primera vez, la impresion de la foto sale movida, pero si vulevo a intentar la impresion (sin salir del programa) la impresion sale correcta, a que se puede deber?
Adjunto como referencia algunos segmentos de codigo para que observen que hago.
Gracias
Lubin
Tengo un problema al imprimir una imagen usando la clase TPRINT,
Resulta que se desea imprmir unas fotos entre dos parrafos de texto de un documento , pero simpre sucede que al intentar una primera vez, la impresion de la foto sale movida, pero si vulevo a intentar la impresion (sin salir del programa) la impresion sale correcta, a que se puede deber?
Adjunto como referencia algunos segmentos de codigo para que observen que hago.
Gracias
Lubin
***** FACTORES PARA EL TAMAĆO DE LA IMAGEN (FOTOS RECTANGULARES )
LOCAL oPrn && Objeto de impresion
LOCAL knAnchoCM:= 21.05 &&- Ancho de pagina en cms. Fisico
LOCAL knLargoCM:= 29.70 &&- Largo de pƔgina en cms. Fisico
LOCAL knFilaPag:= 80.00 && Nro Base de Fila de Pagina
LOCAL knColuPag:= 141.70 && Nro Base de Columnas de Pagina
LOCAL oImage
LOCAL xAlt:=16 && 12
LOCAL xAnc:=50
oImage:=TImage():define( , vFotoLine[nFor][1] )
***************************** INICIO DE REPORTE FREPPRINT ****************
*1. Ajuste de TamaƱo de la Hoja Fisica
PrnSetSize(knAnchoCM*100, knLargoCM*100)
*2. Creo objeto tprinter
PRINT oPrn TITLE XFILENAME FROM USER
* 3. Establezco Orientacion de la Hoja
IF lLnds
oPrn:SetLandscape()
ENDIF
* 4. Establezco las copias
oPrn:SetCopies(1)
*aqui se impime la imagen en la posisicon nlinea=10,columna=80
RPrint_JPG(0010,080 ,xAnc,xAlt,oImage,oPrn,knFilaPag,knColuPag)
.....
......
........
FUNCTION RPrint_JPG(nFila,nCol,nAncho,nAlto,xBitmap,oPrn,knFilaPag,knColuPag)
*Funcion para imprimir Imagenes en formato JPEG con relacion a la funcion RPrintSay.
*Calcula las coordenas de la imagen con knFilaPag/knColuPag.
LOCAL knAnchoCM := 21.05 && Ancho de pagina en cms. Fisico
LOCAL knLargoCM := 29.70 && Largo de pƔgina en cms. Fisico
*Calculando coordenadas
LOCAL ejeY := knLargoCM / knFilaPag
LOCAL ejeX := knAnchoCM / knColuPag
*Calculamos las posiciones de la imagen en relacion a las Filas/Columnas del reporte...
LOCAL xArriba := ejeY * nFila
LOCAL xIzq := ejeX * nCol
LOCAL xAncho := ejeX * nAncho
LOCAL xAlto := ejeY * nAlto
*Mandamos a imprimir..
RPrint_SayImg( xArriba , xIzq, xAncho,xAlto, xBitmap,oPrn)
RETURN NIL
FUNCTION RPrint_SayImg(nArriba,nIzq,nAncho,nAlto,xBitmap,oPrn)
**********************************************************************
*Funcion que permite imprimir una imagen jpg en las coordenadas indicadas
Local xCor := {}
LOCAL nPixWidth, nPixHeight
xCor := oPrn:Cmtr2Pix(nArriba,nIzq)
// Pasamos nAncho y nAlto a Pulgadas
nAncho := nAncho/2.54
nAlto := nAlto /2.54
nPixWidth := INT(oPrn:nLogPixelY()*nAncho)
nPixHeight := INT(oPrn:nLogPixelX()*nAlto)
oPrn:SayImage(xCor[1],xCor[2],xBitmap,nPixWidth ,nPixHeight)
RETURN NIL