在linux系统下,用c语言画一些矩形框
时间: 2024-03-23 12:36:52 浏览: 24
可以使用Linux系统提供的X Window系统的编程接口来实现。以下是一个简单的示例代码,可以绘制一个矩形框:
```c
#include <X11/Xlib.h>
#include <stdio.h>
int main()
{
Display *d;
Window w;
XEvent e;
GC gc;
int s;
XSizeHints hints;
unsigned long white, black;
d = XOpenDisplay(NULL);
if (d == NULL) {
fprintf(stderr, "Cannot open display\n");
return 1;
}
s = DefaultScreen(d);
white = WhitePixel(d, s);
black = BlackPixel(d, s);
w = XCreateSimpleWindow(d, RootWindow(d, s), 100, 100, 500, 500, 1, black, white);
hints.flags = PPosition | PSize | PMinSize | PMaxSize;
hints.min_width = hints.max_width = hints.base_width = hints.width = 500;
hints.min_height = hints.max_height = hints.base_height = hints.height = 500;
hints.x = 100;
hints.y = 100;
XSetWMNormalHints(d, w, &hints);
XSelectInput(d, w, ExposureMask | KeyPressMask);
gc = XCreateGC(d, w, 0, NULL);
XSetForeground(d, gc, black);
XDrawRectangle(d, w, gc, 150, 150, 200, 200);
XMapWindow(d, w);
while (1) {
XNextEvent(d, &e);
if (e.type == Expose) {
XDrawRectangle(d, w, gc, 150, 150, 200, 200);
}
if (e.type == KeyPress)
break;
}
XFreeGC(d, gc);
XDestroyWindow(d, w);
XCloseDisplay(d);
return 0;
}
```
该代码会创建一个500x500的窗口,并在其中绘制一个200x200的矩形框。你可以根据自己的需要修改代码中的参数,来绘制不同大小和位置的矩形框。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)