用从c语言写一个用鼠标左键绘制多边形,右键结束绘制并填充多边形颜色的代码
时间: 2024-04-03 15:36:46 浏览: 148
以下是使用C语言编写的用鼠标左键绘制多边形,右键结束绘制并填充多边形颜色的代码:
```c
#include <graphics.h>
int main() {
int poly[20]; // 定义多边形的顶点数组
int i = 0; // 记录顶点个数
initgraph(640, 480); // 创建一个宽640,高480的窗口
// 鼠标事件回调函数
void mouse_callback(int button, int state, int x, int y) {
if (button == BUTTON_LEFT && state == BUTTON_DOWN) {
// 左键按下,记录顶点坐标
poly[i * 2] = x;
poly[i * 2 + 1] = y;
i++;
} else if (button == BUTTON_RIGHT && state == BUTTON_DOWN) {
// 右键按下,绘制多边形并填充颜色
setfillstyle(SOLID_FILL, RED); // 设置填充颜色为红色
fillpoly(i, poly); // 填充多边形
i = 0; // 重置顶点个数
}
}
// 注册鼠标事件回调函数
registermousehandler(WM_LBUTTONDOWN, mouse_callback);
registermousehandler(WM_RBUTTONDOWN, mouse_callback);
getchar(); // 等待用户按下回车键
closegraph(); // 关闭图形窗口
return 0;
}
```
需要注意的是,如果是在Windows平台上使用graphics.h库,需要安装Borland C++ 编译器,或者使用Dev-C++等IDE,同时设置编译选项中的graphics库。
阅读全文