Delphi - Canvas

 
Vista:

Canvas

Publicado por Gaby (3 intervenciones) el 06/03/2002 09:47:36
Estoy utilizando el Método de Canvas para imprimir datos y fotografias de una base de datos, pero la foto que es .bmp imprime de un tamaño pequeño. ¿Cómo puedo manipularla para hacerla mas grande en la impresión? Gracias...Urgente!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Canvas

Publicado por Diego Romero (67 intervenciones) el 07/03/2002 05:12:07
Cuando vayas a imprimir un .BMP usa este código.

var
MiClipRect:TRect;
begin
MiclipRect.Left:=0;
MiClipRect.Top:=0;
MiClipRect.Right:=Image1.Width*5;
MiClipRect.Bottom:=Image1.Height*5;
Printer.BeginDoc;
Printer.Canvas.StretchDraw(MiClipRect, Image1.Picture.Bitmap);
Printer.EndDoc;
end;

Cambia los objetos que creas necesarios siempre que sean del mismo tipo.
Fue uno de mis primeros problemas al usar Delphi :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Canvas

Publicado por Gaby (3 intervenciones) el 08/03/2002 10:12:17
Hola Diego; Muchas gracias por tu ayuda, que me ha servido de mucho. Pasé tu código a una nueva forma y funcionó de maravilla, pero cuando lo pasé a mi codigo que debe ser en una línea como la siguiente:

StretchDraw((fot+((CNTC-1)*2253)),(linea+((CNTF-1)*1450 +300)),MiClipRect,Image6.Picture.BitMap);

me marca errores de que no son del mismo tipo TRect and Integer, TGraphic and Integer.

Estoy utilizando un campo Graphic, y creo que el error es porque utilizo coordenadas ya que debo imprimir varias imagenes en una hoja.

Como podría Solucionar ésto? Muchas Gracias... atte:gaby
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Canvas

Publicado por Diego Romero (67 intervenciones) el 08/03/2002 22:34:22
StretchDraw solo tiene dos parametros, en lo que me dices usas cuatro, el TRect es una estructura que le indica un tamaño rectangular, si lo que quieres es calcular ese rectangulo debes modificar los campos del TRect.
TRect está definido como
type
TRect = packedrecord
case Integer of
0: (Left, Top, Right, Bottom: Integer);
1: (TopLeft, BottomRight: TPoint);
end;
por lo que hay dos formas de hacerlo una sería
MiClipRect.Left:=0;
MiClipRect.Top:=0;
MiClipRect.Rigth:=fot+((CNTC-1)*2253;
MiClipRect.Bottom:=linea+((CNTF-1)*1450+300;
o cosa parecida.
Sospecho que quieres imprimir varias imagenes en diferentes lugares de la página por tanto deberías varias el Top y el Left también.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar