Hola Foro.
tengo un problema en una impresion.
en algunas maquinas me sale el bmp en el lugar prefijado y en otras sale mas chico y fuera de la zona ....
estoy usando esta linea de código
oPrn:SayBitmap( 60.5, 580 , "Escudo" )
si alguien tiene alguna sugerencia les voy a agradecer. desde ya muchas gracias.
BMP EN REPORTE
-
- Posts: 115
- Joined: Sat Mar 07, 2009 9:36 pm
- Location: Argentina
- Contact:
- Manuel Aranda
- Posts: 605
- Joined: Wed Oct 19, 2005 8:20 pm
- Location: España
Re: BMP EN REPORTE
Creo que te faltan dos parámetros más, aparte de las coordenadas de ubicación debes de indicar también el tamaño:
algo así como esto : SayBitmap(1.5,2,6,2,"LOGOTIPO.BMP",oPrn)
algo así como esto : SayBitmap(1.5,2,6,2,"LOGOTIPO.BMP",oPrn)
Un saludo,
Manuel
xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
Manuel
xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
- karinha
- Posts: 7963
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 5 times
- Contact:
-
- Posts: 115
- Joined: Sat Mar 07, 2009 9:36 pm
- Location: Argentina
- Contact:
Re: BMP EN REPORTE
Hola Manuel.
Mira la instruccion la tengo asi.
oPrn:SayBitmap( nRow, nCol, cBitmap, nWidth, nHeight, nRaster )
El tema es que compilo en mi maquina con windows xp y sale todo bien , pero en la casa del cliente me sale mas chico y desplazado el escudo....pero las letras me salen bien ...
esto uso para las letras
oPrn:CmSay( Fila, 6.50, "SECRETARIA DE PROGRAMAS SANITARIOS" , oFont1,,CLR_BLACK,,2) // Titulo 1
La pregunta concreta es si hay alguna forma de recalcular la resolucion para los bmp como para las letras .
Mira la instruccion la tengo asi.
oPrn:SayBitmap( nRow, nCol, cBitmap, nWidth, nHeight, nRaster )
El tema es que compilo en mi maquina con windows xp y sale todo bien , pero en la casa del cliente me sale mas chico y desplazado el escudo....pero las letras me salen bien ...
esto uso para las letras
oPrn:CmSay( Fila, 6.50, "SECRETARIA DE PROGRAMAS SANITARIOS" , oFont1,,CLR_BLACK,,2) // Titulo 1
La pregunta concreta es si hay alguna forma de recalcular la resolucion para los bmp como para las letras .
-
- Posts: 497
- Joined: Sun Oct 16, 2005 3:32 am
- Location: Quito - Ecuador
- Has thanked: 1 time
- Been thanked: 1 time
- Contact:
Re: BMP EN REPORTE
Juan Carlos
El asunto está en la resolución de cada impresora. Tu tienes oPrn:CmSya() que toma tu texto y lo coloca en una posición absoluta medida en centímetros, sin importar la resolución de la impresora. Por eso te sale bien.
Respecto a oPrn:SayBitmap() las coordenadas son en pixeles por lo que te saldrá diferente en impresoras con diferentes resoluciones. La solución es:
Con el método oPrn:CmRect2Pix() logras la conversión de una posición aboluta medida en centímetros a los pixeles de la impresora. En otras palabras, no importa la resolucíón, siempre imprimirá en la misma posición. En el help de la clase TPrint encuentras información de :CmRect2Pix
Espero haberte ayudado,
El asunto está en la resolución de cada impresora. Tu tienes oPrn:CmSya() que toma tu texto y lo coloca en una posición absoluta medida en centímetros, sin importar la resolución de la impresora. Por eso te sale bien.
Respecto a oPrn:SayBitmap() las coordenadas son en pixeles por lo que te saldrá diferente en impresoras con diferentes resoluciones. La solución es:
Code: Select all | Expand
nRaster := SRCAND := 8913094
xaCoord:=oPrn:CmRect2Pix( { 0.90, 2.00, 2.6, 2.6 } )
oPrn:SayBitmap( xaCoord[1] , xaCoord[2] , "Logo.bmp" , xaCoord[3], xaCoord[4] , nRaster)
Con el método oPrn:CmRect2Pix() logras la conversión de una posición aboluta medida en centímetros a los pixeles de la impresora. En otras palabras, no importa la resolucíón, siempre imprimirá en la misma posición. En el help de la clase TPrint encuentras información de :CmRect2Pix
Espero haberte ayudado,
Saludos,
Carlos Gallego
*** FWH-24.07, xHarbour 1.3.1 Build 20240624, Borland C++7.70, PellesC ***
Carlos Gallego
*** FWH-24.07, xHarbour 1.3.1 Build 20240624, Borland C++7.70, PellesC ***
- sysctrl2
- Posts: 1066
- Joined: Mon Feb 05, 2007 7:15 pm
- Has thanked: 7 times
- Been thanked: 3 times
- Contact:
Re: BMP EN REPORTE
Yo ya probe la solucion que da carlos
y si bien no se mueve mucho de posicion la imagen se mira mas grande en una hp photosmart y en una hp de otra generacion
se mira mas peque el LOGO.
por cierto yo lo uso con JPG.
entonces pasa que en cada cliente donde instalamos tenemos que usar un codigo diferente.
Curiosamente como dice el colega las letras salen correctas.
Saludos.
y si bien no se mueve mucho de posicion la imagen se mira mas grande en una hp photosmart y en una hp de otra generacion
se mira mas peque el LOGO.
por cierto yo lo uso con JPG.
Code: Select all | Expand
oImage :=TImage():define( , cLogo )
nRaster := SRCAND := 8913094
xaCoord := ::oPrn:CmRect2Pix( { 2.70, 1.50, 2.90, 2.90 } )
oPrn:SayImage( xaCoord[1] , xaCoord[2] , oImage , xaCoord[3], xaCoord[4] , nRaster)
oImage:end()
entonces pasa que en cada cliente donde instalamos tenemos que usar un codigo diferente.
Curiosamente como dice el colega las letras salen correctas.
Saludos.
Cesar Cortes Cruz
SysCtrl Software
Mexico
' Sin +- FWH es mejor "
SysCtrl Software
Mexico
' Sin +- FWH es mejor "
- Manuel Aranda
- Posts: 605
- Joined: Wed Oct 19, 2005 8:20 pm
- Location: España
Re: BMP EN REPORTE
Hola de nuevo Juan Carlos, disculpa, pero olvidé pasarte la función:
(Creo que es de The Full, Rafa Carmona)
(Creo que es de The Full, Rafa Carmona)
Code: Select all | Expand
**********************************************************************
Func SayBitmap(nArriba,nIzq,nAncho,nAlto,xBitmap,oPrn)
**********************************************************************
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:SayBitmap(xCor[1],xCor[2],xBitmap,nPixWidth ,nPixHeight)
RETURN NIL
Un saludo,
Manuel
xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
Manuel
xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC