Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Manipular Tamaño en Imagen JPG???? (https://www.clubdelphi.com/foros/showthread.php?t=22317)

AGAG4 11-06-2005 21:10:22

Manipular Tamaño en Imagen JPG????
 
Alguien sabe como Reducir el Tamaño a una imagen con formato JPG al momento de IMPRIMIR????, lo que me pasa es que las imagenes que tengo quiero imprimirlas a Tamaño carta y originalmente estan demasiadas grandes, que al imprimirlas no se ve toda la imagen....

Lo que hago es esto, pero no consigo Reducirlas
Código Delphi [-]
    Printer.BeginDoc;
    Printer.Canvas.Draw(5,10, JPEG);
    Printer.EndDoc;

Agredezco cualquier sugerencia.

jachguate 13-06-2005 17:09:01

Podes valerte del método StretchDraw, que escalará la imagen según sea necesario.

Hasta luego.

;)

AGAG4 13-06-2005 19:30:34

ok
 
Gracias Juan Antonio....

Que tenga buen día.

AGAG4 16-06-2005 02:41:58

Ok
 
Hice las Siguientes Pruebas de acuerdo a lo que me recomendo jugando con StretchDraw del TPrinter, hice que imprimiera en tamaño Carta que es una Gran Ventaja, pero la resolución no me convence, lo que pasa es que hago otra prueba de impresión, tengo WinXp Profesional y al abrir el Archivo JPG en el Explorador de Windows automaticamente aparece una ventana donde se ve la imagen alli viene para imprimir presiono este boton, ahora selecciono la impresora y manda imprimir, reviso la impresión y lo Imprime en Tamaño Carta pero Con una Resolución Mucho Mejor que la que Imprime Delphi, acontinuación pongo el código que tengo en delphi....
Código Delphi [-]
....
  try
    JPG := TJPEGImage.Create;
    JPG.LoadFromFile('c:\tmp\Imagen.jpg');
    Printer.PrinterIndex:=cbPrinters.ItemIndex;
    Printer.BeginDoc;
    Rec.Top:=10;
    Rec.Left:=10;
    Rec.Right:=10+Printer.PageWidth-2;
    Rec.Bottom:=10+Printer.PageHeight-2;
    Printer.Canvas.StretchDraw(Rec,Jpg);
    Printer.EndDoc;
  finally
    Jpg.free;
  end;
Que me faltá para que me lo imprima con la misma resolución con que la manda windows????

Agradezco cualquier sugerencia.

AGAG4 16-06-2005 19:49:01

mmmmmmmmm
 
Que Truco usará WinXp Professional para imprimir en Carta y con una Resolución Excelente????

jachguate 16-06-2005 22:25:21

No es un truco, simplemente que tiene un algoritmo que escala mejor las imágenes que el que él mismo proporciona en el StretchDraw.

Podrias vos mismo ponerte a la búsqueda de algún algoritmo que lo haga mejor, para luego de haber escalado la imagen simplemente copiarla al canvas de la impresora. De momento no tengo tiempo para buscar... google me llevó por aqui pero no se si hay algo que te sirva.

Hasta luego.

;)

AGAG4 16-06-2005 22:42:19

ok
 
Podría funcionar el método de AntiAliasing, lo que hace este algoritmo es de mejorar la calidad de la imagen antes de pasarlo al canvas, estoy investigando esto, voy hacer pruebas....

En cuanto las hagas les informo que paso....


La franja horaria es GMT +2. Ahora son las 00:15:10.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi