Форум: "Потрепаться";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
ВнизPreview Найти похожие ветки
← →
FX © (2004-06-24 19:44) [0]Здравствуйте, задавал этот вопрос в основном форуме, но не получил удовлетворительного ответа, может здесь повезет...
Мне необходимо осуществить предварительный просмотр текста выводимого на печать. Для объекта Printer я устанавливаю режим отображения MM_LOMETRIC и вывожу текст на печать. Как мне вывести текст на Canvas метафайла что-бы он выглядел в тех-же пропорциях что и при печати. Я делаю так:
...
PhysicalWidth:=GetDeviceCaps(Printer.Handle,
Windows.PHYSICALWIDTH);
PhysicalHeight:=GetDeviceCaps Printer.Handle,
Windows.PHYSICALHEIGHT);
Metafile := TMetafile.Create;
Metafile.Width:=PhysicalWidth;
Metafile.Height:=PhysicalHeight;
MetaCanvas:= TMetafileCanvas.Create(Metafile, 0);
SetMapMode(MetaCanvas.Handle, MM_ANISOTROPIC);
SetWindowExtEx(MetaCanvas.Handle, 2100, 2970, nil);
SetViewportExtEx(MetaCanvas.Handle, PhysicalWidth,
PhysicalHeight, nil);
MetaCanvas.Rectangle(0, 0, 100, 100);
MetaCanvas.TextOut(100, 100, "TEXT");
...
Прямоугольник рисуется как положено 1x1 см,
а текст получается намного мельче чем при выводе на принтер.
Как сделать правильно? Спасибо.
← →
FX © (2004-06-24 20:00) [1]Ну что МАСТЕРА DELPHI? Кто-нибудь ответит?
← →
FX © (2004-06-24 20:50) [2]Once again...
← →
TUser © (2004-06-24 21:01) [3]Goto "Основная"
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.039 c