Показать сообщение отдельно
  #1  
Старый 25.05.2007, 18:17
Аватар для AXS
AXS AXS вне форума
Новичок
 
Регистрация: 26.11.2006
Адрес: РК г. Талдыкорган
Сообщения: 67
Репутация: 15
По умолчанию Печать Канвы компонента TImage

Вроде всё элементарно но...
Я рисую на канве Image'a прямоугольники типа:
Image1.Canvas.Brush.Style:=bsDiagCross;
Image1.Canvas.Brush.Color:=clAqua;
Image1.Canvas.Rectangle(0,0,200,150);

Затем пытаюсь печатать:
Printer.BeginDoc;

PointX:=GetDeviceCaps(Printer.Canvas.Handle,LOGPIX ELSX)/130;
PointY:=GetDeviceCaps(Printer.Canvas.Handle,LOGPIX ELSY)/130;

X1:=round((Printer.PageWidth-Image1.Width*PointX)/2);
Y1:=round((Printer.PageHeight-Image1.Height*PointY)/2);
X2:=round(X1+Image1.Width*PointX);
Y2:=round(Y1+Image1.Height*PointY);

Printer.Canvas.CopyRect(Rect(X1,Y1,X2,Y2),Image1.C anvas,
Rect(0,0,Image1.Width,Image.Height));

Printer.EndDoc;

Печатается, да, но... ПУСТАЯ страница!

Может подскажете, а то скоро истерика начнётся.... ещё и с женой поссорился... в общем дело жизненно важное...
Ответить с цитированием