Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.03;
Скачать: CL | DM;

Вниз

Масштабирование при распечатке   Найти похожие ветки 

 
Medusa__   (2007-04-04 20:19) [0]

Здравствуйте! Распечатываю TControl (а именно TPanel) вот таким вот макаром:

var tp:TPrinter;
begin
tp:=TPrinter.Create;
PrintDialog1.Execute;
tp.BeginDoc;
TPanel.PaintTo(tp.Canvas.Handle,0,0);
tp.EndDoc;
end;


Распечатывается форма 3.5 на 1.5 см. Как лучше смасштабировать, чтобы было на весь лист? (в пропорциях)


 
Medusa__   (2007-04-04 22:19) [1]

Актуально :-)


 
Medusa__   (2007-04-04 22:19) [2]

Актуально :-)


 
{RASkov}   (2007-04-05 00:06) [3]

Вот это вот:
> var tp:TPrinter;

нафик не надо, убери. В модуле Printers уже есть объект Printer его и используй. Создавать его не надо.

> Как лучше смасштабировать, чтобы было на весь лист? (в пропорциях)

А здесь можно много чего придумать, но нужно учитывать, что разрешение(dpi) монитора и принтера разные...
Например рисуй TControl на временный битмап, а его(битмап) выводи на канву принтера StrechDraw()
Посмотри на GetDeviceCaps.... может полегче станет.


 
Medusa__   (2007-04-05 20:08) [4]

Спасибо, попробую.

>нафик не надо, убери. В модуле Printers уже есть объект Printer его и используй. Создавать его не надо.

Сделано.


 
Medusa__   (2007-04-09 12:22) [5]

Чтот я не совсем понимаю как это реализовать..
подскажите куда дальше копать..)


 
Rouse_ ©   (2007-04-09 12:32) [6]


> Как лучше смасштабировать, чтобы было на весь лист? (в пропорциях)

Через SetMapMode переключи канвас в анизотропный режим, через SetWindowExtEx задай текущае пропорции, через SetViewportExtEx задай необходимые тебе, после чего рисуй.



Страницы: 1 вся ветка

Текущий архив: 2007.06.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.056 c
15-1178208918
Ёжик
2007-05-03 20:15
2007.06.03
Объявление экземпляра класса


4-1167030209
clickmaker
2006-12-25 10:03
2007.06.03
диалог с "SysDateTimePick32" не работает под самой первой win95


15-1178625260
ZeroDivide
2007-05-08 15:54
2007.06.03
Георгиевская лента на автомобилях немецкого производства!


15-1178791060
Руслан
2007-05-10 13:57
2007.06.03
Можно ли включить компьютер с помощью сетевой карты?


2-1179073255
neiromantik
2007-05-13 20:20
2007.06.03
Динамическая память