如何在任何屏幕上显示“实际尺寸”?

问题描述 投票:2回答:2

我正在做一个CAD程序。我想在屏幕上以实际尺寸显示图纸,这意味着如果我可以在屏幕上放置标尺以测量线条,并且线条应该匹配。但是,屏幕具有不同的dpi。如何获得正确的dpi并计算程序的乘法因子?

谢谢。

monitor
2个回答
1
投票

您将需要用户输入显示器的物理尺寸。下面的详细信息...

  • 您需要控制台的物理尺寸和分辨率。

    $ xdpyinfo | grep -E'尺寸|分辨率'

xdpyinfo将显示计算机对监视器大小的看法。我希望我能说它正确地描述了我的显示器,但是已经很接近了。显然,xdpyinfo根据dpi和可用像素计算物理尺寸。 X系统通常假定96 dpi。

  • 您的cad程序可能会显示图像。在这种情况下,您需要知道图像的大小和分辨率。

    $ identify -verbose FILE-NAME | grep -E'几何|分辨率|打印尺寸|单位'

从imagemagick包中识别,从图像文件中检索信息。

[像feh和geeqie这样的图像查看者喜欢在显示图像时使用1:1图像像素来显示像素。典型的图像编辑器将以300 dpi创建图像,而通过电子邮件发送的图像可能报告为72 dpi。

不幸的是,图像和显示器的dpi值通常都不正确。

  • 校正图像dpi。无需更改图像本身。

    $转换-units PixelsPerInch输入图像-所需的密度-DPI输出图像

知道存储在图像中的实际值存储为PixelsPerCentimeter可能会很好。

  • 校正显示器的dpi设置。无需更改监视模式。我正在尝试通过xsettingsd进行此操作。

0
投票

要了解屏幕的像素密度,您需要两项信息,物理尺寸和分辨率。虽然可以通过编程确定分辨率,但物理尺寸无法确定。 (afaik)

该想法有一些实现方式,其中软件会询问用户他们的屏幕尺寸是多少,并使用该尺寸来确定像素密度。例子:http://www.sizeis.com/http://pective.com/pic/frog

或者,某些界面要求用户使用固定大小的项目进行校准-例如,通过调节滑块直到数字轮廓与信用卡匹配。例子:http://mwctoys.com/REVIEW_060412a.htm(请参见第二张图像)http://beta.lifesizer.com/images/featured

在任何情况下,您都必须确定显示器的物理尺寸以计算像素密度。

© www.soinside.com 2019 - 2024. All rights reserved.