Imprimir una imagen sale en mala resolución

Imprimir una imagen sale en mala resolución

Postby nlerdafehn » Fri Jun 10, 2022 3:43 pm

Buenas,

Estoy intentando imprimir unas credenciales, y al utilizar qimag:LoadBmp( varnum[24] ) me da correctamente en pantalla la imagen. varnum[24] tiene la dirección del archivo .JPEG

Image

Eso no es problema, pero a la hora ed poner para imprimir, en cualqueir tipo de impresora, utilizo el siguiente codigo:

Code: Select all  Expand view  RUN
function imprimirCredencial()
local oPrn
local fotoAfiliado := TImage(), fondo := TImage(), aTam, rec1, rec2
nRast := 8913094

if getprintdc() = 0
  return .f.
endif


   PRINT oPrn NAME "Imprimiendo credencial" PREVIEW modal
   DEFINE FONT oFONt1 NAME 'Montserrat-black' SIZE 0, -10 of oprn
   DEFINE FONT oFONt2 NAME 'Montserrat' SIZE 0, -10  of oprn
   DEFINE FONT oFONt3 NAME 'Montserrat' SIZE 0, -8.8  of oprn
   DEFINE FONT oFONt4 NAME 'Montserrat' SIZE 0, -6  of oprn
   DEFINE FONT oFONt4b NAME 'Montserrat' SIZE 0, -6 BOLD of oprn
   Define brush obrush  color CLR_BLACK strech

   fondo:loadbmp('fondo.bmp' )
   fotoAfiliado:LoadBmp(varnum[24])

    qbarQR := 123456789
    hZebra := hb_zebra_create_qrcode(qbarQR,nil)
    recixQR := oPrn:Cmtr2Pix(0.86,3.48)

      PAGE

      oPrn:SayImage(92,113,fotoAfiliado,220, 220)
      oPrn:SayImage(0,0, fondo,1036, 661)
      hb_zebra_draw( hZebra, {|x,y,w,h| oPRN:FillRect({recixQR[1] + Int(y+.5), recixQR[2] + Int(x+.5), recixQR[1] + Int(y+.5)+Int(h)+1, recixQR[2] + Int(x+.5)+Int(w)},oBRUSH) }, 0, 0, 6, 6 )
      hb_zebra_destroy( hZebra )

      //DATOS
      oprn:cmsay(3.19, 0.7,"TITULAR:",oFONT3,,CLR_12) // titular
      oprn:cmsay(3.1, 2.1,left(VARNUM[5],27),oFONT1,,CLR_12) // titular
      oprn:cmsay(3.59, 0.72,"SOCIO N°:",oFONT3,,CLR_12)
      oprn:cmsay(3.54, 2.25,ALLTRIM(STR(VARNUM[1])),oFONT2,,CLR_12) // socio
      oprn:cmsay(3.995, 0.72,"C.U.I.L. N°:",oFONT3,,CLR_12)
      oprn:cmsay(3.95, 2.25,ALLTRIM(TRANSFORM(VARNUM[8],'@e 99-99999999-9')),oFONT2,,CLR_12) // CUIL

      //DISCLAIMER
      oprn:cmsay(4.54, 0.7,"El uso de esta tarjeta es personal e intrasferible. En caso de extravío",oFONT4,,CLR_13)
      /* VARIOS CMSAY MAS QUE NO TIENEN RELAVANCIA */
     ENDPAGE
   ENDPRINT
   fondo:end()
   fotoAfiliado:end()
   ofont1:end()
   ofont2:end()
   ofont3:end()
   ofont4:end()
   ofont4a:end()
return nil
 


A su vez, el fondo veo que lo tengo en muy buena resolución y a la hora de ponerlo a imprimir baja bastante. Adjunto capturas.

Image

Image

Espero si puedan ayudarme, porque ya no encuentro otra solución. Puede ser porque uso el BMP del fondo con transparencias? Aun asi, abri el BMP con un editor, y sigue estando en muy buena calidad, pero a la hora de imprimir, baja considerablemente.

Muchas gracias!
Nicolás
nlerdafehn
 
Posts: 50
Joined: Tue Feb 02, 2021 10:21 pm
Location: Buenos Aires, Argentina

Re: Imprimir una imagen sale en mala resolución

Postby nageswaragunupudi » Sun Jun 12, 2022 6:40 am

Code: Select all  Expand view  RUN
#include "fivewin.ch"

REQUEST FWZEBRA

function Main()

   local oPrn

   PRINT oPrn PREVIEW

   PAGE

   @ 3,3 PRINT TO oPrn IMAGE "..\bitmaps\olga1.jpg" ;
      SIZE 3.5,4.5 CM

   @ 3,9 PRINT TO oPrn ;
      TEXT "This text is displayed as QR code" ;
      AS BARCODE TYPE "QR" ;
      SIZE 3,3 CM

   ENDPAGE

   ENDPRINT

return nil
 


Image
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10653
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Imprimir una imagen sale en mala resolución

Postby JoseAlvarez » Mon Jun 13, 2022 10:41 pm

Hola¡

Una vez se me presentó algo parecido y lo resolví usando .PNG en lugar de jpg

Quizás te sirva. Haz la prueba
"Los errores en programación, siempre están entre la silla y el teclado..."

Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin

Carora, Estado Lara, Venezuela.
User avatar
JoseAlvarez
 
Posts: 798
Joined: Sun Nov 09, 2014 5:01 pm


Return to FiveWin para Harbour/xHarbour

Who is online

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