FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour BMP EN REPORTE
Posts: 115
Joined: Sat Mar 07, 2009 09:36 PM

BMP EN REPORTE

Posted: Fri Oct 05, 2012 11:50 AM

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.

Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM

Re: BMP EN REPORTE

Posted: Fri Oct 05, 2012 12:23 PM

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)

Un saludo,

Manuel



xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM

Re: BMP EN REPORTE

Posted: Fri Oct 05, 2012 12:28 PM
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 115
Joined: Sat Mar 07, 2009 09:36 PM

Re: BMP EN REPORTE

Posted: Fri Oct 05, 2012 01:14 PM

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 .
Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM

Re: BMP EN REPORTE

Posted: Fri Oct 05, 2012 02:43 PM
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:
Code (fw): Select all Collapse
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-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM

Re: BMP EN REPORTE

Posted: Fri Oct 05, 2012 05:48 PM
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.

Code (fw): Select all Collapse
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 "
Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM

Re: BMP EN REPORTE

Posted: Sun Oct 07, 2012 07:53 PM
Hola de nuevo Juan Carlos, disculpa, pero olvid茅 pasarte la funci贸n:

(Creo que es de The Full, Rafa Carmona)

Code (fw): Select all Collapse
**********************************************************************
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

Continue the discussion