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

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

Помогите с печатью метафайла


Анонимщик ©   (2002-02-06 11:08:00) 

Не выходит распечатать метафайл с нужными размерами. Причем на одних принтерах печатается нормально, а на других - нет. Может, где-то нужно размеры корректировать в соответствии с разрешением принтера? Вот код:

Printer.BeginDoc;
pMetafile = TMetafile.Create;
pMetafile.MMWidth = 8600;
pMetafile.MMHeight = 5400;
pMetafile.Inch = 1440;
pMCanvas = TMetafileCanvas.Create(pMetafile, 0);
pMCanvas.MoveTo(0, 0);
pMCanvas.Pen.Color = clBlack;
pMCanvas.Pen.Width = 3;
pMCanvas.LineTo(pMetafile.Width, pMetafile.Height);
pMCanvas.Free;
Printer.Canvas.StretchDraw(TRect(0, 0, pMetafile.Width, pMetafile.Height), pMetafile);
pMetafile.Free;
Printer.EndDoc;

Печатается калично, что делать?


Анонимщик   (2002-02-06 21:32:00) [1]

Так подставлял. То убирал множитель и делитель - 2.54, то в одном случае, то в другом, то снова ставил. И на разных принтерах по-разному печатается. Я вот не пойму в чем тут дело.


Набережных С.   (2002-02-06 18:48:00) [2]

Ну так вычисли и подставь нужные размеры по соотношениям страницы и метафайла. То, что у тебя - не stretchdraw, а копирование один к одному.


Анонимщик   (2002-02-06 18:38:00) [3]

Printer.Canvas.StretchDraw(Rect(0,0,Printer.PageWidth,Printer.PageHeight),pMetafile); - так нельзя, весь метафайл напечатается на всю страницу


Набережных С.   (2002-02-06 16:48:00) [4]

Может, нужно так:
Printer.Canvas.StretchDraw(Rect(0,0,Printer.PageWidth,Printer.PageHeight),pMetafile);


-=CrazyFish=-   (2002-02-06 11:51:00) [5]

Можно печатать через QReport


Наверх

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