【问题标题】:how to find dpi of a monitor in labview如何在labview中找到显示器的dpi
【发布时间】:2013-09-04 13:27:55
【问题描述】:

我有一个看似相对简单的问题,至少我希望如此。我想知道是否可以在LabVIEW中找到显示器的dpi。如果可能的话,我将如何去做。

【问题讨论】:

    标签: screen dpi labview


    【解决方案1】:

    【讨论】:

    • 我对你的回答比我的更满意。
    • 同意,简洁明了的回答。
    【解决方案2】:

    我不确定密度或 dpi,因为它基于分辨率和显示器的物理尺寸,但很容易获得显示器的分辨率。

    在框图中:

    1. 右击调出调色板->应用程序控制->VI服务器参考

    2. 左键单击引用并切换到此应用程序

    3. 右击调出调色板->应用控制->属性节点

    4. 将应用程序节点连接到属性节点

    5. 左键单击属性节点 -> 显示 -> 主工作区

    6. 输出是主显示器的尺寸减去底部 Windows 工具栏的高度

    【讨论】:

    • 所以我将您的答案与用于计算 DPI 的公式结合起来。如果您知道屏幕尺寸和屏幕分辨率,您可以获得理论 DPI。以下链接包含用于查找 DPI 的公式和信息:en.wikipedia.org/wiki/Pixel_density#Calculation_of_monitor_PPI。但是我想知道是否有人能够确认通过此计算找到的 DPI 是否确实准确,因为它确实表明它是理论 DPI。
    【解决方案3】:

    LabView 似乎不支持直接获取 dpi 或物理尺寸,但您可以从命令行间接获取。或者,您可以编写实现 GetDisplayDpi 的外部 DLL。

    在 Windows 上,以下是如何在命令行上获取物理尺寸:

    使用dumpedid.exe 获取有关监视器的信息:

    要在 LabView 中获得物理监视器的大小,您可以使用这些功能块构建一个 vi:

    1. 系统 Exec 运行 dumpedid.exe
    2. 与字符串“Image Size.*”匹配模式
    3. 使用格式字符串“图像大小:%f X %f”从字符串扫描

    为“从字符串扫描”添加一个额外的输出参数。这两个输出是硬件报告的物理屏幕尺寸(以厘米为单位)。

    您可以使用另一个匹配模式/扫描从该程序中获得分辨率,但使用系统属性节点更容易!

    注意:Display:Primary Workspace 的属性小于完整显示高度,它减去了 Windows 任务栏高度。您需要通过 Disp.AllMonitors 属性来获取正确的值。

    这是检索主显示器分辨率并计算 dpi 的完整框图。您必须对这些值进行四舍五入 - 它们将是 94.07 或 142.7 之类的数字。

    【讨论】:

      猜你喜欢
      • 2013-09-10
      • 1970-01-01
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 2021-01-31
      相关资源
      最近更新 更多