Форум: "Основная";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
ВнизМасштабирование при распечатке Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.115 c