【问题标题】:Cairo graphics: how to determine the physical screen dimensions开罗图形:如何确定物理屏幕尺寸
【发布时间】:2018-09-24 15:52:07
【问题描述】:

用 C 编写代码,必须在 Raspbian 上运行,但可以选择具有各种显示 - 从 128*64 到 1280*1024 甚至更大。我希望我的程序首先获取显示器的物理尺寸(以像素为单位),然后决定在其中创建哪些窗口。该应用程序是一种信息亭,可能不需要用户交互,因此必须从一开始就正确显示。 使用 Raspbian Stretch, Cairo over Gtk, gcc 6.3.0

【问题讨论】:

  • 我确实找到了(在这些相同的页面上)width=gdk_screen_width();高度=gdk_screen_height();但这会在编译时发出警告(“已弃用”),并在运行时出现错误(“断言 GDK_IS_SCREEN 失败或类似情况)
  • 你打电话给gtk_init了吗?

标签: c cairo


【解决方案1】:

更重要的信息是您使用的 gtk 版本。如果这些已被弃用,那是因为 gdk 已移至每个屏幕设置,您可以使用以下功能获得:

gdk_display_get_n_monitors

gdk_get_monitor

gdk_monitor_get_geometry

GdkRectangle->宽度和/或->高度

这些在应用程序像素中,因此您可能需要缩放。

猜测 IS_SCREEN 失败可能是由于未初始化的东西。需要更多信息才能确定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 2023-04-05
    • 2017-04-22
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多