首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

X/Gnome:如何测量打开窗口的几何形状

在云计算领域中,测量打开窗口的几何形状是一个重要的功能。这可以通过使用X/Gnome库来实现。

X/Gnome是一个基于X Window System的窗口管理器和桌面环境。它提供了一组API和工具,可以用于开发各种应用程序和实用程序。其中,XGetGeometry函数可以用于获取窗口的几何形状信息,包括窗口的位置、大小、边框宽度等。

以下是一个简单的示例代码,演示如何使用XGetGeometry函数获取窗口的几何形状信息:

代码语言:c
复制
#include <X11/Xlib.h>
#include <X11/Xutil.h>

int main() {
    Display *display = XOpenDisplay(NULL);
    Window window = XCreateSimpleWindow(display, DefaultRootWindow(display), 0, 0, 200, 100, 1, BlackPixel(display, DefaultScreen(display)), WhitePixel(display, DefaultScreen(display)));
    XMapWindow(display, window);

    XWindowAttributes attributes;
    XGetWindowAttributes(display, window, &attributes);

    XWindowAttributes root_attributes;
    XGetWindowAttributes(display, DefaultRootWindow(display), &root_attributes);

    XGetGeometry(display, window, &root_attributes.root, &attributes.x, &attributes.y, &attributes.width, &attributes.height, &attributes.border_width, &attributes.depth);

    printf("Window geometry: x=%d, y=%d, width=%d, height=%d, border_width=%d\n", attributes.x, attributes.y, attributes.width, attributes.height, attributes.border_width);

    XCloseDisplay(display);
    return 0;
}

在这个示例代码中,我们首先打开一个显示器连接,然后创建一个简单的窗口。接着,我们使用XGetWindowAttributes函数获取窗口的属性,包括窗口的位置和大小等信息。然后,我们使用XGetGeometry函数获取窗口的几何形状信息,包括窗口的位置、大小、边框宽度等。最后,我们将这些信息打印出来。

需要注意的是,X/Gnome库是一个比较底层的库,需要开发者对X Window System有一定的了解和经验。如果您只是想要实现一些简单的窗口操作,可以考虑使用更高级的库,如GTK+或Qt等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 如何打开sln文件并显示窗口_在本机打开别人的sln文件

    大家好,又见面了,我是你们的朋友全栈君。 sln:在开发环境中使用的解决方案文件。它将一个或多个项目的所有元素组织到单个的解决方案中。...去看了看他的博客,言及两年来如何如何,及参加会议云云,想想自己现在连.NET里的SQL连接都看不懂了,和当时的感觉差太远了,我曾经有过梦想么?我还去追寻过?...本来对自己没信心的,所以如何打开别人的SLN文件,只是自己猜测要改改他的配置,用UE打开后,修改了一通路径,居然不行,很是郁闷,无奈上网搜索,发现别人也是这么说的:....“net是把你的机器作为服务器来写asp.net程序的 。 生成新的项目时,他自动给你设置,但如果用不是这台机器上生成的项目,就得手工设置了!”呵呵,没想到自己的想法是对的,可是我改错了么?...你满意现在的生活吗?为什么不正视你的困难和你的责任?一味的逃避最终的结果会是什么呢?”

    3K60

    dotnet 如何从 Gtk 3 的窗口到对应的 X11 窗口

    本文将告诉大家如何在 Gtk3 的 Gtk.Window 或 Gdk.Window 里面获取到对应的 X11 窗口 XID 号 记录本文是因为我在这里踩了很多坑,核心问题就是 GTK 有很多个版本,我开始找的全是使用..._window_get_xid 方法即可正确的从 gdk 窗口获取到对应的 X11 窗口的 XID 值 为了方便使用 gdk_x11_window_get_xid 方法,以下照 GtkSharp 进行一些代码定义...= gdk_x11_window_get_xid(gdkWindow.Handle); Console.WriteLine($"X11 窗口 0x{x11:x2}"); } 通过以上代码输出的...X11 窗口的 XID 号,可以同步在命令行输入进 xwininfo 命令里面。...比如我这里输出的是 X11 窗口 0x5600003 的值 打开另一个命令行,输入以下命令,将 XID 传入 xwininfo 命令,即可看到显示的窗口标题和当前运行的窗口是相同的 我核心踩坑就是搜到的是

    18010

    开源一款支持跨平台的截屏+OCR+搜索+翻译+贴图+以图搜图软件

    修改已安装的程序 先按下Ctrl+Shift+I,或在菜单栏-识图-开发者工具 打开开发者工具进行调试。...源码位置:[设置里提示的运行位置] 启动 在你的启动器打开 eSearch,他将出现在托盘。...Gnome 用户需要安装appindicator插件 默认快捷键为Alt+C(你也可以在设置里设置快捷键) cli eSearch支持 cli,可以通过命令行进行简单的截屏。...) [x] 几何形状(边框填充支持调节) [x] 高级画板设置(使用 Fabric.js 的 api) [x] 图像滤镜(支持局部马赛克模糊和色彩调节) [x] 自定义框选松开后的操作 [x] 快速截取全屏到剪贴板或自定义的目录...[x] 截屏历史记录 [x] 窗口和控件选择(使用 OpenCV 边缘识别) [x] 长截屏 [x] 多屏幕 [x] 录屏 [x] 录制全屏 [x] 自定义大小 [x] 按键提示 [x] 光标位置提示

    2.5K20

    OpenCV中几何形状识别与测量

    OpenCV中几何形状识别与测量 ---- 写有代码的文章、做有情怀的人 ---- 经常看到有学习OpenCV不久的人提问,如何识别一些简单的几何形状与它们的颜色,其实通过OpenCV的轮廓发现与几何分析相关的函数...,只需不到100行的代码就可以很好的实现这些简单几何形状识别与对象测量相关操作。...本文就会演示给大家如何通过OpenCV 轮廓发现与几何分析相关函数实现如下功能: 几何形状识别(识别三角形、四边形/矩形、多边形、圆) 计算几何形状面积与周长、中心位置 提取几何形状的颜色 在具体代码实现与程序演示之前...几何距计算 图像几何距是图像的几何特征,高阶几何距中心化之后具有特征不变性,可以产生Hu距输出,用于形状匹配等操作,这里我们通过计算一阶几何距得到指定轮廓的中心位置,计算几何距的函数与参数解释如下: moments...(array, binaryImage=None) - array表示指定输入轮廓 - binaryImage默认为None 二:代码实现与演示 基于轮廓发现与多边形逼近、几何距实现几何形状识别与对象测量

    7.5K122

    “几何深度学习”受爱因斯坦启示:让AI摆脱平面看到更高的维度!

    但是,如果将卷积神经网络用于没有内置平面几何形状的数据集(如3D计算机动画中使用的不规则形状的模型,或者自动驾驶汽车生成的点云来绘制周围环境),这种强大的机器学习架构的效果就要受到影响。...举个例子,测量一个足球场的长度,首先以码为单位,然后再以米为单位进行测量,得到的数字是不同的,但这是一种可预测的不同。...同样,两位摄影师从两个不同的有利位置拍摄同一个对象的照片会产生不同的图像,但是这些图像可以彼此关联。量表的等方差可确保物理学家的现实模型保持一致,无论他们的观测点或测量单位如何变化。...2016年,Cohen和Welling合写了一篇论文,定义了如何将其中的一些假设条件编码为几何对称的神经网络。...这些方法仍然不够通用,无法处理具有颠簸,不规则结构的流形上的数据,该数据描述了从土豆到蛋白质,到人体,到时空弯曲的几乎所有物体的几何形状。

    66840

    SceneKit 场景编辑器-为您的AR体验构建3D舞台

    要显示它,请单击视口下方左下方的小窗口图标,在控件旁边。在这里,您可以看到组成场景的所有部分。这些对象是几何,灯光,相机等节点。节点与没有大小,没有形状也没有颜色空间中的位置,直到我们将它们分配给它。...如果您有Xcode 9,它位于右侧面板的底部。您将看到可添加的对象列表。黄色物体是灯光,而绿色物体是几何形状。蓝色是相机,还有其他物体,如物理和动画。...因此,在“ 场景”图中,选择所有其他形状,将它们拖到框顶部。您可以单击箭头以展开并查看隐藏的节点。 缩放 请记住,我们测量的是米的大小。现在我们应该将整个手表缩小到1%。选择框的父节点。...对于比例,为x,y和z输入0.01。双击该框的节点图标以调整视图。正如你所看到的,一旦我调整了盒子的大小,它的所有孩子都一样。 预览观看场景 我们如何才能真实地看到手表在应用中的外观?...结论 现在,我们只使用基本几何图形制作了一个简单的3D对象,并应用材质使其看起来更真实。我们学会了如何定位,旋转和缩放它。使用SceneKit场景编辑器可以避免很多代码,就像故事板一样。

    5.6K20

    学习 Avalonia 框架笔记 如何创建一个全屏置顶的 X11 应用窗口

    本文记录我从 Avalonia 框架里面学到如何创建一个全屏置顶的 X11 应用窗口的方法 开始之前,先从 Avalonia 或 CPF 里面拷贝足够的代码,这部分代码可以从本文末尾找到下载方法 设置全屏的核心代码是以下三行...(EventMask.SubstructureRedirectMask | EventMask.SubstructureNotifyMask)), ref xev); } 如此即可获取一个全屏且在所有窗口...,包括任务栏的上层的最顶层 X11 窗口 以上代码是从 https://github.com/AvaloniaUI/Avalonia/blob/b5db6bb0f6c19070e2a09a23231bcc1e01c40610.../src/Avalonia.X11/X11Window.cs 里面抄的 分别是 WindowState 属性的 set 方法以及 SetTopmost 方法 为了让大家能够看到窗口在最顶层的效果,接下来绘制两条线段...693a137d9349bc65b5e2ed3a7c5d2480775e621a 获取代码之后,进入 CeaherecelallLemlalnohuce 文件夹,即可获取到源代码 更多 Avalonia 以及 X11

    62810

    在编程中发现数学之美——使用python和Processing绘制几何图形

    这篇文章的最终目的是绘制一个如下的图形: ? 在几何课上,你学的所有东西都是关于空间里的形状和尺寸。一般来说你先学习一维的直线,然后学习二维的圆、正方形或三角形,然后学习三维的物体如立方体和球体。...这个例子中,这个形状是20个像素宽20个像素高,因为这两个参数是相等的,也就是说圆的边缘上的点离圆心的距离是相等的,所以这个椭圆是一个圆形。 单机run按钮,一个新的窗口弹出来,上面有我们绘制的圆。...在传统的几何数学中,原点一般在图像的中心位置。 ? 然而在计算机图形中,坐标系统与传统的几何系统不一样。计算机图形系统中的原点,在屏幕的左上角,x和y随着屏幕向右向下而增加。 ?...在processing中,可以很容易的把坐标上的任何图形放到想放的地方。让我们从一个简单的例子开始。 转移函数 你可能还记得在几何课堂上使用纸和铅笔,如何费力的做几何图形的转换。...我们将方块定位在(30x,30y),我们将要创建一个变量来测量鼠标到这个位置的距离: d = dist(30*x, 30*y, mouseX, mouseY) Processing中dist()

    6.5K11

    谁说偷窥一定要趴墙头?这个系统可用声波「看见」墙后物体

    从一系列扬声器和麦克风的位置捕捉这些测量值,用于重建隐藏物体的 3D 几何形状(右下)。 ? 图 2:场景几何和测量值捕获示意图。声阵列发出声信号,该声信号通过墙壁反射到隐藏物体,然后反射回来。...接收和发射信号混合在一起并进行傅里叶变换,在与反射器距离成正比的频率上产生一个波峰(右下角)。 图 1 和图 2 进一步显示了测量值的几何结构。...如何生成图像 当信号发射位置和接收位置相同时,即 x_t = x_r,y_t = y_r,研究者使用闭合解(closed-form solution)进行图像重建。...共焦测量能够对隐藏物体的 3D 几何形状进行高效的重建,但是在更常见的非共焦测量情况下如何进行高效重建呢? 研究者首先调整非共焦测量,使其模拟共焦采样网格捕捉到的共焦测量。...下图 6 展示了如何通过非共焦测量,来改善信号质量、提升空间采样。 ? 图 6:在有两个隐藏物体时,图像重建的流程。

    1.3K10

    dotnet OpenXML 转换 PathFillModeValues 为颜色特效

    在 OpenXml 预设形状,有一些形状设置了 PathFillModeValues 枚举,此枚举提供了亮暗的蒙层特效。具体的特效是让形状选择一个画刷,在画刷上加上特效。...如立体几何 Cube 形状,在 Cube 不同的面有不同的颜色,颜色的亮度不同 接下来通过 OpenXML SDK 实现读取 PPTX 文件,解析 Cube 预设形状,在界面绘制,让填充和 PowerPoint...新建一个空的 WPF 应用,在应用里面放入一个创建了默认的 Cube 形状的 PPTX 文件,在窗口 Loaded 事件里面读取这份测试的文件 public MainWindow()...(new Emu(1216152), new Emu(1216152)); 通过传入的预设形状和元素的大小,可以计算出几何信息。...不过通过编写代码的形式也是可以的,详细请看 dotnet OpenXML SDK 形状几何 Geometry 的计算公式含义 为了简化代码,在 GetPresetGeometryPath 方法里面使用的是我用公式引擎计算的输出字符串

    86120

    地球是个球体,那宇宙是个啥?

    一个是关于其几何形状:对诸如角度和面积之类的物体进行精细的局部测量。另一个关于他的拓扑结构:如何将这些局部片段缝合在一起形成一个总体形状。...但是与圆环不同,可以通过纯粹的局部测量来探测球形宇宙。球形与无限的欧几里得空间不仅在其全局拓扑结构上而且在其精细几何形状上都不同。...然后,我们可以检查边长和角度测量值的组合是否适合于平面、球形或双曲线几何形状(其中三角形的角度之和小于180度)。 大多数此类测试以及其他曲率测量表明,宇宙要么是平坦的,要么非常接近平坦。...6 双曲几何 与球体自身弯曲不同,双曲几何体向外打开。这是珊瑚礁和马鞍的几何形状。双曲几何的基本模型是一个无限广阔的空间,就像平面欧几里德空间一样。...双曲几何具有狭窄的三角形和呈指数增长的圆,感觉不像是适合我们周围空间的几何形状。事实上,正如我们已经看到的那样,到目前为止,大多数宇宙学测量似乎都倾向于一个平坦的宇宙。

    1K30

    Sketchup pro 2021 Mac 草图大师2022激活版下载

    修复了与格式错误知识兔的SKP文件有关的崩溃。工具类修正了移动工具的性能知识兔问题时,选择了大量部件的几何形状和性能产生不利影响。修复了“跟随我”工具无法按知识兔预期清理几何的问题。...修复了状态栏不会为“选择知识兔”工具显示键修改器文本的问题。修复了卷尺测量工具的问题,知识兔在该问题中,按快捷键会导致向导状态意外更改。改进的卷尺测量工具消息传知识兔递,可以更准确地反映用户体验。...当发现/修复了一些无效的组件知识兔关系时,启用了新的有效性检查。修复了在打开模型时进行有效性知识兔检查之后,“撤消检查有效性”选项不可用的问题。...其他加载最新文件缩略图时,改进知识兔了“欢迎窗口”的性能。生成报告-为2021知识兔年构建了新版本的生成报告。目标是与以前的版本功能相同。知识兔我们希望在来年发布改进和新功能。...在“模型信息”窗口的“文知识兔件”信息中删除了“版本”字段。修复了相同的水印名称不知识兔能由不同样式共享的问题。

    1.3K10

    【Rust日报】 2019-05-15:Rust 4周岁生日快乐!

    ---- 「小技巧」利用Option和From实现可选参数 #tips Read More ---- 使用gir crate生成GNOME库 #GNOME gir是一个用于为基于glib的库生成Rust...绑定和用户API的工具,可以生成sys级的crate和安全API。...在Safe Rust中出现内存不安全的问题是无法容忍的。新版本的发布主要是将已经稳定的Error::type_id紧急改为了Unstable。...它强调了调试符号在调试中的重要性,以及如何在发送给客户之前拆分二进制文件....GEOS是一个集合形状的拓扑关系操作实用库(可能这么说不太准确),简单得说,就是判断两个几何形状之间关系和对两个几何形状进行操作以形成新的几何形状的库。目前被各类开源空间信息软件项目广泛应用。

    84330

    几何与学习的交汇点

    我们的方法可以从2D投影中学习,并从单个图像预测形状(顶部)或深度(底部)。 如何从单一3D图像构建计算模型是计算机视觉领域一个长期存在的问题。...我们现在看两篇推动多视角监督范式界限的论文。第一个利用经典的光线一致性公式来引入一个通用的验证器,它可以测量三维形状和不同种类的观测O之间的一致性O。...差分射线一致性 在我们最近的论文中,我们制定了验证者 VV来测量三维形状(表示为概率占用网格)和二维观察之间的一致性。...a)预测的3D形状和我们测量一致性的样本射线。b)我们通过三维形状追踪射线,并计算事件概率 - 射线在其路径上不同点处终止的概率。c)我们可以测量每个射线终止事件与该射线可用信息的不一致性。...更广泛地说,人们可以把几何一致性解释为一种形式的元监督,而不是预测是什么,而是如何表现。我们认为,类似的原则也可以适用于其他难以获得直接标签的问题领域。

    2.1K130
    领券