gpt4 book ai didi

visual-c++ - 拥有像 MM_LOMETRIC 和 MM_LOENGLISH 这样的度量映射模式有什么意义?

转载 作者:行者123 更新时间:2023-12-02 03:08:43 25 4
gpt4 key购买 nike

Jeff Prosise 的Programming with MFC (第二版) 第 47 页(第 2 章:在窗口中绘图)有以下声明。

One thing to keep in mind when you use the metric mapping modes is that on display screens, 1 logical inch usually doesn't equal 1 physical inch. In other words, if you draw a line that's 100 units long in the MM_LOENGLISH mapping mode, the line probably won't be exactly 1 inch long.

我的问题是,如果 Windows 不能对我们使用度量映射模式绘制的事物的物理尺寸提供任何保证,那么拥有这种映射模式的意义何在?公制映射模式是否只与打印机相关,与显示器完全无关?

在带有 HDMI/Display 端口等数字端口的现代显示器中,Windows 操作系统无法获取屏幕的物理尺寸,因此可以使用公制尺寸(英寸,而不是像素,请注意当前分辨率操作系统已经知道显示器的名称)?

最佳答案

逻辑英寸背后的一个想法是到显示器的观看距离通常大于到打印页面的距离,因此在典型显示器上默认的逻辑英寸比物理英寸,尤其是在所见即所得起飞的时代。逻辑英寸让 WYSIWYG 应用程序开发人员根据打印页面上的距离和大小思考,而不是将所有调整设备分辨率的负担都放在应用程序上,而不必以像素或点为单位工作,这些像素或点因设备而异(尤其是从显示器到打印机)。

另一个问题是,由于早期显示器的分辨率相对有限,要显示与典型打印文本一样小的清晰文本是不切实际的。例如,文本通常以每英寸 6 行打印。在典型的显示器分辨率下,这可能意味着每行 12 个像素,这确实限制了字体设计和易读性(尤其是在抗锯齿和子像素渲染文本实用之前)。使逻辑英寸默认为实际英寸的 120-130%(在那个时代的典型显示器上)意味着文本行将有 16 像素高,使衬线和斜体等排版细节更可靠(尽管仍然不漂亮)。

另请记住,用户控制逻辑英寸,并且可以很好地设置逻辑英寸,使其与物理英寸匹配(如果满足他们的需要)。

即使显示器的分辨率接近老式激光打印机的分辨率,逻辑单元在今天仍然有用。考虑为演示文稿设计幻灯片,这些幻灯片将被投影并打印为讲义。投影尺寸是投影仪的光学器件及其与屏幕的距离的函数。即使在操作系统和显示设备之间进行双向通信,操作系统也无法确定实际的物理尺寸(对于大多数应用程序也没有用)。

我不是 CSS 专家,但据我了解,即使在使用 CSS 的 px 单位时,您也是在一个可能与物理像素大小不完全相同的逻辑单位中工作.它应该考虑到设备的实际分辨率和典型的观看距离,允许网页设计人员做出与原生应用程序开发人员长期以来使用的相同的每英寸 96 的假设。

关于visual-c++ - 拥有像 MM_LOMETRIC 和 MM_LOENGLISH 这样的度量映射模式有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41019128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com