![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как определить размер зерна монитора [D7, Win95/98, WinME, NT4, Win2k, WinXP]
Alex Che © (2005-07-04 10:56:00)Подскажите как программно определить размер зерна монитора (в мм). Нужно выводить на экран графики соответствующие разным стандартам бумаги и что бы размер на экране полностью совпадал с реальным размером. Для этого и нужно знать размер зерна, наверное есть какая-нибудь функция которая возвращает данное значение.
Заранее благодарю.
KosilkA (2005-07-05 12:12:00) [1]Удалено модератором
Примечание: Offtopic
Antonn (2005-07-04 16:04:00) [2]Удалено модератором
Примечание: Offtopic
KosilkA (2005-07-04 14:19:00) [3]Удалено модератором
Примечание: Offtopic
alpet (2005-07-04 14:17:00) [4]Вероятно здесь понадобится аппаратная часть - типа сканера одеваемого на монитор :))
Anatoly Podgoretsky (2005-07-04 11:52:00) [5]Без измерительной линейки, при том при каждом выводе, не обойтись.
TUser (2005-07-04 11:39:00) [6]ИМХО, лучше сделать в программе возможность настройки и сохранять полученный коэффициейнт
Anatoly Podgoretsky (2005-07-04 11:27:00) [7]Игорь Степанов (04.07.05 11:21) [7]
Не чего подсказывать, отсутствую физические характеристики размеров монитор и для все мониторов выдается одно и тоже разрешение, точно такое же как для мониторов в 14 дюйм и при любоам разрешении.
Игорь Степанов (2005-07-04 11:21:00) [8]С моей точки зрения речь идет о переводе пикселе канвы в логические пикселы, предназначенные для работы в режиме тождеста размеров на экране и на бумаге. Я сам задавал такой вопрос о пересчете обычных пикселей канвы в логические, но ответа не получил. Может быть здесь кто-нибудь подскажет?
С уважением,
Игорь Степанов
Котик Бегемотик (2005-07-04 11:17:00) [9]Хммм... похоже человек изобрёл новый способ передирания чертежей ... а то всё через кальку :)
dmitry501 (2005-07-04 11:15:00) [10]
function GetPrinterRes(const pobj: TPrinter; Horz: Boolean): integer;
var
Index: Integer;
begin
if Horz then
Index:=LOGPIXELSX
else
Index:=LOGPIXELSY;
Result:=GetDeviceCaps(pobj.Handle, Index);
end;
function ConvertMMtoPixelsY(const Value:Double):Integer;
begin
Result := Round(Value*GetPrinterRes(Printer, False) / mmPerInch);
end;
Вот две функции для принтера. Переделай для дисплея, вроде для GetDeviceCaps надо указать DT_RASDISPLAY.
Virgo_Style (2005-07-04 11:10:00) [11]Если у вас старый монитор, у него есть регуляторы ширины и высоты изображения. Если новый - эти функции есть в меню.
Как планируете с этим бороться, даже если известно "официальное" разрешение монитора? По-моему, ничего с этим не сделаешь.
Anatoly Podgoretsky (2005-07-04 11:09:00) [12]Размер зерна (если он есть) никакого отношения к размерам не имеет.
Alex Che (2005-07-04 11:04:00) [13]<а как определить пароль на бумажке, приклееной к монитору не сказать?>
Прога должна работать на разных компах и соответственно на разных мониторах (на каких я заранее не знаю).
Antonn (2005-07-04 10:59:00) [14]а как определить пароль на бумажке, приклееной к монитору не сказать?