通过GTK获取dpi设置

5
使用GTK,如何查询当前屏幕的dpi设置?
3个回答

7

目前被接受的答案适用于PHPGTK,这对我来说有点奇怪。纯GDK库具有此调用:gdk_screen_get_resolution(),听起来更匹配。我自己没有使用过它,不知道它是否通常可靠。


该函数返回分辨率或像素数。DPI测量假定的“每英寸点数”或像素密度。这些是完全不同的概念。 - Drew Dormann
1
不,根据文档,它并不会返回一个点的值。它返回一个双精度浮点数,表示“PangoFontDescription和Cairo单位之间的比例因子。默认值为96,这意味着10点字体将有13个单位高。(10 * 96. / 72. = 13.3)”。 - unwind
2
我完全改正了。而且对于函数名称感到困惑。谢谢你,unwind。 - Drew Dormann

1
请参考GdkScreen。你可以使用get_heightget_height_mm或者get_widthget_width_mm来计算它。

1

屏幕返回的分辨率高度和宽度包括完整的多监视器尺寸(例如,用于呈现多监视器设置的显示器缓冲区的组合宽度和长度)。我没有检查毫米(毫米宽度/高度)调用是否返回实际物理大小,但如果报告组合物理大小,则从相除计算出的dpi将是无意义的,例如,在屏幕上绘制一个可以使用物理尺子测量的盒子。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接