- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
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/
我有一张 table People (First_Name, Last_Name)。此表包含与示例中一样重复的记录(并非所有行都重复): First_Name Last_Name John
我用 Java 编写过很多程序,之前也涉足过 C++。我在各种 C++ 书籍中阅读了有关指针的内容,并完成了书籍中的各种示例。 我了解指针的基础知识,但有一件事我一直不清楚。指针在现实世界中的应用是什
线 .Mappings(m => m.FluentMappings.AddFromAssemblyOf() 它有什么作用?它会在派生自 ClassMap 的 Product 类的程序集中查找任
我有用于打印数字的自定义打印功能。我制作了一个 ASCII 版本和一个 UTF-16LE 版本。 UTF-16LE 版本对 0-9 使用全角代码/字符,对十六进制使用 A-F。在调试我的函数时,我注意
这是我的代码片段: float ab(float); 以后 if(ab(temp)
我在一个项目文件中包含以下代码: //begin of the file ((window) => { 'use strict'; class View extends GSM.Event
我一直在到处寻找关于 ? 用法的正确解释。和 *。我注意到我可以使用以下方法拒绝所有用户的访问: 如果我想允许某个组,我应该在其上方添加下一行: 但是当我看到人们使用 ? 时,我开始忘记什么意思,
我正在关注 melon js tutorial .这是在我的 HUD.js 文件的顶部。 game.HUD = game.HUD || {} 我以前在其他例子中见过这个。 namespace.some
我正在处理一个包含数千行代码的文件。我正在第 700 行实现一个算法。我经常不得不离开这些行来检查文件中的其他方法。 导航回到我实际编码的地方通常很痛苦。如果我可以在第 700 行设置一个航路点并为其
我遇到了这段代码 do { if (higherQuality && w > targetWidth) { w /= 2; if (w &
uint8_t * const LCDMem = (uint8_t *) &LCDM3; 此代码在 msp430fg4618 培训套件中用于 lcd 配置。谁能解释一下上述代码的含义? 它允许使用 a
上下文 阅读一些内核代码。 问题 我不明白这行是什么意思 *(void **) &(int[2]){0,PAGE_SIZE}; 还有更多,这是什么意思 {0,PAGE_SIZE} 对我来说,它看起来不
我正在查看 Underscore.js 的源代码库,专门用于 map方法(该页面第 85 行左右,并复制到此处): _.map = function(obj, iterator, context)
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
我是一名优秀的程序员,十分优秀!