第47頁書使用MFC編程(第二版)由Jeff Prosise(第2章:繪製在窗口中)具有以下聲明。什麼是具有公制映射模式,如MM_LOMETRIC和MM_LOENGLISH點?
使用公制映射模式時要記住的一件事是,在顯示屏幕上,1個邏輯英寸通常不等於1個物理英寸。換句話說,如果您在MM_LOENGLISH映射模式下繪製一條長度爲100個單位的線,該線可能不會完全是1英寸長。
我的問題是,如果窗口不能保證我們使用度量映射模式繪製的物體的物理尺寸,那麼擁有這種映射模式有什麼意義呢?度量標準映射模式是否僅與打印機相關,並且與顯示器完全無關?
在具有數字端口(如HDMI/Display端口)的現代顯示器中,Windows OS無法獲得屏幕的物理尺寸,因此可以使用公制尺寸(英寸而不是像素)繪製物體,請注意電流監視器的分辨率已經被操作系統知道了)?
它們* *主要相關的非顯示輸出設備,包括打印機,繪圖儀等,但是,它們可以* *是用於顯示器是有用的。 MFC使用它來實現打印預覽等功能。是的,使用現代顯示器,Windows可能會更好地做某些事情,但是由於時間機器還沒有開發出來,他們不能回頭去改變大約20多年前開發的GDI子系統的語義。 –
視頻驅動程序在監視器分辨率方面有很長的歷史。從他們開始只是沒有任何想法,因爲與顯示器的電氣連接不夠好。被鎖定到96 dpi,這很難改變,因爲幾乎每個程序員都認爲它是默認值,並且不會編寫縮放代碼。這一直在改變,這不能用4k顯示器來實現,DPI虛擬化變得太難看了。特別是Win10不再使用這個默認的,很多很多的問題。 –