problemas al imprimir imagen en una posicion

problemas al imprimir imagen en una posicion

Postby lubin » Sun Apr 24, 2016 9:57 pm

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

Code: Select all  Expand view

*****  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      


 
User avatar
lubin
 
Posts: 449
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 49 guests