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