Page 1 of 1

Imprimir una imagen sale en mala resolución

PostPosted: Fri Jun 10, 2022 3:43 pm
by nlerdafehn
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
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!

Re: Imprimir una imagen sale en mala resolución

PostPosted: Sun Jun 12, 2022 6:40 am
by nageswaragunupudi
Code: Select all  Expand view
#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

Re: Imprimir una imagen sale en mala resolución

PostPosted: Mon Jun 13, 2022 10:41 pm
by JoseAlvarez
Hola¡

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

Quizás te sirva. Haz la prueba