C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Принтер: TPrinter, dpi, PageWidth....., Прыгают настройки
** 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()

Вернуться в Вопросы программирования в C++Builder