ubuntu中用C文件显示一个矩形
时间: 2024-10-08 21:23:10 浏览: 28
在Ubuntu系统中使用C语言显示一个矩形,通常会涉及到图形界面编程,比如使用X Window System(X11)库。以下是一个简单的示例,展示如何在一个窗口中绘制一个矩形:
```c
#include <stdio.h>
#include <stdlib.h>
#include <X11/Xlib.h>
#include <X11/cursorfont.h>
// 定义矩形结构体
typedef struct {
int x, y; // 矩形左上角坐标
int width, height; // 矩形尺寸
} Rectangle;
int main(int argc, char *argv[]) {
Display *display = XOpenDisplay(NULL); // 获取默认显示器
if (display == NULL) {
fprintf(stderr, "Cannot open display\n");
return 1;
}
// 创建窗口
Window window = CreateWindow(display,
DefaultRootWindow(display), // 使用根窗口
0, 0, 400, 300, // 窗口位置和大小
CWBackPixel | CWBorderWidth, // 设置属性
InputOutput, BlackPixel(display, 0),
CopyFromParent, None, // 标准窗口属性
"Rectangle", // 窗口标题
False, // 不设置菜单
DefaultDepth(display), None);
// 绑定鼠标事件
Cursor arrowCursor = XCreateFontCursor(display, XC_left_ptr);
XDefineCursor(display, window, arrowCursor);
// 开始绘图循环
while (true) {
XDrawRectangles(display, window, CurrentGC(display), // 使用默认画笔
(Rectangle *) &rectangle, 1); // 绘制一个矩形
rectangle.width += 5; // 每次循环增加矩形宽度,模拟动态变化
XFlush(display); // 刷新屏幕
XSync(display, False); // 阻塞直到所有操作完成
}
XCloseDisplay(display);
return 0;
}
阅读全文