![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вывести на печать форму с нужным разрешением экрнана ? [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. Я думаю, его нужно изменить.