** Pirs |
Отправлено: 24.08.2004, 18:51 |
|
Не зарегистрирован
|
Печатаю битмап:
#include
void Printing()
{
Tprinter *prn = Printer();
short wid = prn->PageWidth , hig = prn->PageHeight ;
prn->BeginDoc();
mybitmap->HandleType = 0 ;
prn->Canvas->Draw(0,0,mybitmap);
prn->EndDoc();
}
Принтер Epson C20
Проблема: если в НАСТРОЙКАХ ПРИНТЕРА установлено качество печати «экономичное», то размеры PageWidth = 960 , PageHeight = 1300 и все работает правильно!!!
Если у ПРИНТЕРА установлено качество 240 dpi, то размеры PageWidth и PageHeight уже 1920 и 2600 и битмап БЕЗ МОЕГО ВЕДОМА при выводе на печать сжимается в два раза!!!
Свойство PrintScale — бесполезно.
Истинные размеры получаются при «экономичном» качестве. Только на этих размерах все печатается правильно.
Нужен текущий dpi у принтера и базовый размер страницы (вне зависимости от настроек), что бы определить коофициент масштабирования.?
Или как-то по-другому…
Функция DeviceCapabilities(….) что-то молчит…
|
|
NONAME |
Отправлено: 25.08.2004, 08:09 |
|
Не зарегистрирован
|
QUOTE (** Pirs @ 24/08/2004, 19:53) | Печатаю битмап:
#include <Printers.hpp>
void Printing()
{
Tprinter *prn = Printer();
short wid = prn->PageWidth , hig = prn->PageHeight ;
prn->BeginDoc();
mybitmap->HandleType = 0 ;
prn->Canvas->Draw(0,0,mybitmap);
prn->EndDoc();
}
Принтер Epson C20
Проблема: если в НАСТРОЙКАХ ПРИНТЕРА установлено качество печати «экономичное», то размеры PageWidth = 960 , PageHeight = 1300 и все работает правильно!!!
Если у ПРИНТЕРА установлено качество 240 dpi, то размеры PageWidth и PageHeight уже 1920 и 2600 и битмап БЕЗ МОЕГО ВЕДОМА при выводе на печать сжимается в два раза!!!
Свойство PrintScale — бесполезно.
Истинные размеры получаются при «экономичном» качестве. Только на этих размерах все печатается правильно.
Нужен текущий dpi у принтера и базовый размер страницы (вне зависимости от настроек), что бы определить коофициент масштабирования.?
Или как-то по-другому…
Функция DeviceCapabilities(….) что-то молчит… |
GetDeviceCaps() |
|
|