|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 31, 2003 12:35:58 Задавая координаты в сотых мм, при рисовании в окне я получаю полное соответствие(хоть линейкой мерь). А в принтере размеры искажаются - они больше ~4 раза. В чем тут дело? |
|
|
Дата: Июл 31, 2003 13:05:15 И ещё. Если в окне правильная ориентация(ось Y направлена вверх и используем отрицательные числа для ординат точек), то в принтере их приходится менять на положительные, как в MM_TEXT моде), хотя SetMapMode(hPrinterDC, MM_HIMETRIC) возвращает 1(т.е. отработала без ошибки) |
|
|
Дата: Июл 31, 2003 13:55:06 Единственное объяснение: Устройство, чей DC используется, берет размер в ММ делит на свой коэффициент ММ/PIXEL, получает PIXEL'и и выводит. Для окна же это не делается. У моего принтера: int InMM = GetDeviceCaps(hdc, HORZSIZE); int InPx = GetDeviceCaps(hdc, HORZRES); InMM = 198 InPx = 4676 т.е. MM/PIXEL = 0.0423 |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.087 |