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

Вниз

Принтер... последний вопрос ;)   Найти похожие ветки 

 
Коляныч   (2003-01-07 09:44) [0]

итак сабж ;)
идея такая...
xl:=600; //размеры картинки
yl:=825;
pw:=printer.pagewidth;
ph:=printer.pageheight;
yx:=ph/yl; //коэфициент масшабирования

xc:=yx*xl;
yc:=yx*yl;
if xc>pw then xc:=pw;

image1.canvas.copyrect(rect(0,0,xl,yl)....) - копирую на имагу
printer.canvas.streigtdraw(rect( 0,0,xc,yc),image1.picture.graphic);

так вот - в результате получаю, что картинка не влазит ;( причём прилично... по иксу нарисовало 500 вместо 600, по y не считал... помогите!!! не могу понять своей ошибки...


 
Song ©   (2003-01-07 09:57) [1]

PageWidth вернёт вам размер растра, а не логические размеры принтера. Надо узнавать характеристики принтера через GetDeviceCaps()


 
MXA   (2003-01-08 00:22) [2]

а попробуй
...
pw:=printer.pagewidth-2*Printer.Margins.cx;
ph:=printer.pageheight-2*Printer.Margins.cy;
...


 
Коляныч   (2003-01-08 09:39) [3]

Спасибо... сегодня же опробую ;)

Ещё идеи есть?


 
REA ©   (2003-01-08 12:40) [4]

А еще картинки (в D7 не проверял) stretchdraw фигово рисует на принтер. Мне пришлось срисовать функцию, которая в Delphi сделана для PrintForm, но и она не всегда срабатывает (на всех принтерах, разрешениях, глубине цвета и т.п.)



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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
1-17113
Dunkan
2003-02-22 11:23
2003.03.06
как узнать время в мили секундах?


3-16937
Олег2406
2003-02-14 11:12
2003.03.06
Замучала ошибка Invalid..Insufficient... Table: С ... _QSQ12.db


7-17406
ALXSAM
2003-01-08 16:04
2003.03.06
Как создать компонент в ходе выполнения программы


3-16880
Кило
2003-02-18 11:28
2003.03.06
Как указать процедуре что она відает множество?


1-17190
Жорж
2003-02-24 13:09
2003.03.06
перетаскивание в TTreeView