Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];

Вниз

Неправильные размеры при рисовании через winAPI   Найти похожие ветки 

 
shu_3d   (2002-11-13 12:21) [0]

Приветствую!
Имеетяс такая вот простая проблемка, но где собака порылась, не пойму.
Имеется простенькая форма чисто для тестирования, на ней кнопка, на кнопке код:
procedure TForm1.Button1Click(Sender: TObject);
var dc:thandle;
begin
dc:=getdc(form1.handle);
setmapmode(dc,mm_lometric);
rectangle(dc,0,-0,800,-800);
end;
Рисовать-то он рисует, но вот размеры квадрата отнюдь не 8см, а чуть больше 6. Да и вообще, сколько я ни пытаюсь рисовать в mm_lometric, на экране никогда не получаю ожидаемых размеров, как правило, рисуется меньшего размера. Чего же я не понимаю?
Спасибо за помощь


 
MBo   (2002-11-13 12:38) [1]

Винды не видят, какого размера монитор, так что не стоит ждать от них точности.


 
Marcus   (2002-11-13 13:00) [2]

все эти MM_LOMETRIC и прочие - скорей для принтера, чем для монитора, на экране никогда не будет как на бумаге, так что прикладывать линейку к монитору смысла нет :)


 
MBo   (2002-11-13 13:02) [3]

p.s.
на 17"" мониторе получается более-менее точно, для своего конкретного при желании придется делать mm_Anisotropic, подобрав коэффициенты


 
shu_3d   (2002-11-13 18:49) [4]

А как же графические программы, которые например, при просмотре в масштабе 100%, дают правильные размеры изображения?
Да и сомневаюсь я, что в драйвере монитора нет информации о физическом разрешении.


 
apay   (2002-11-13 19:42) [5]

надо в настройках виндов установить точное кол-во DPI для монитора, станартные 96 в большинстве случаев не подходят, вот и получается опс.


 
shu_3d   (2002-11-15 12:31) [6]

А почему, например, не получить DC экрана, а потом через DeviceCaps получить разрешения экрана?
Если это работает (еще не пробовал), тогда непонятно, почему винда не может корректно настроить extent для правильного масштабирования?


 
MBo   (2002-11-15 12:36) [7]

getdevicecaps(getdc(0),horzsize) пробовал?
Выдает всегда 320 мм.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
3-99011
Дмитрий К.К.
2002-12-10 17:02
2002.12.30
Paradox vs Interbase (файл-сервер против клиент-сервера)


1-99124
iNew
2002-12-18 09:26
2002.12.30
Использую ф-ию windows.Beep(16000,15000), но какое бы число


14-99246
ds
2002-12-10 18:35
2002.12.30
книги


6-99233
Hogo
2002-11-04 20:05
2002.12.30
При ошибке отсоединяются все?


3-98998
Миша
2002-12-09 01:39
2002.12.30
картинка из TGraphicField





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский