1

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

4

3 回答 3

4

您可以使用 .NET 来检索 DPI 设置...

http://blogs.msdn.com/b/acoat/archive/2008/11/17/finding-the-windows-dpi-setting-in-net.aspx

LabVIEW 示例 (LV2012)

于 2013-09-06T13:39:31.913 回答
1

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

在框图中:

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

  2. 左键单击引用并更改为此应用程序

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

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

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

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

在此处输入图像描述

于 2013-09-04T15:05:00.787 回答
1

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

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

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

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

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

向 Scan From String 添加一个额外的输出参数。这两个输出是硬件报告的物理屏幕尺寸(以厘米为单位)。

在此处输入图像描述

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

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

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

在此处输入图像描述

于 2013-09-05T01:40:15.870 回答