Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как вывести на печать форму с нужным разрешением экрнана ? [D7]


@gent ©   (2006-05-02 19:01:00) 

Мне надо вывести на печать рисунок формы с любым разрешением. Через Form1.print она распечатывает лишь часть того, что умещается на листе формата A4.
Заранее спасибо.


@gent   (2006-05-10 14:07:00) [1]

Все, сообразил.


@gent   (2006-05-10 13:57:00) [2]

а нельзя ли дать уже готовую ?


Loginov Dmitry   (2006-05-02 21:55:00) [3]

Вот пример печати с TImage с учетом масштаба, разбирайся сам:
 if PrintDialog1.Execute then begin
   // Выполняем печать
   Printer.Orientation := poLandscape;
   Printer.BeginDoc;
   Printer.Canvas.Refresh;
   PointsX:=GetDeviceCaps(Printer.Canvas.Handle, LOGPIXELSX) / 101.538;
   PointsY:=GetDeviceCaps(Printer.Canvas.Handle, LOGPIXELSY) / 101.538;

   X1:=round((Printer.PageWidth - Min(Image.Picture.Bitmap.Width, 1024) * PointsX) / 2) + 80;
   Y1:=round((Printer.PageHeight - Min(Image.Picture.Bitmap.Height, 768) * PointsY) / 2);
   X2:=round(X1 + Min(Image.Picture.Bitmap.Width, 1024)*PointsX);
   Y2:=round(Y1 + Min(Image.Picture.Bitmap.Height, 768)*PointsY);

   Printer.Canvas.CopyRect(Rect(X1, Y1, X2, Y2),Image.Picture.Bitmap.Canvas,
   Rect(0,0,Min(Image.Picture.Bitmap.Width, 1024), Min(Image.Picture.Bitmap.Height, 768)));
   Printer.EndDoc;    
 end;


AlexanderMS   (2006-05-02 19:04:00) [4]

Свойство есть такое у формы: PrintScale. Я думаю, его нужно изменить.


Наверх

Титульная страница Поиск, карта сайта Написать письмо