C++绘制矩形,直线,曲线,三角形,多边形,椭圆,圆;给图形上色,框选图形,文件存储,坐标显示等等功能(中文注释方便二次开发)
点我下载源码: https://download.csdn.net/download/m0_65636467/88339969
部分代码展示:
#include “界面逻辑模块.h”
using namespace std;
/*********************************
- 构造函数实现初始化背景加载
*********************************/
ManageMent::ManageMent(){
//主界面初始化
menu_btns.push_back(new PushButton(c_Fillcolor,L"填充颜色"));
menu_btns.push_back(new PushButton(c_Openfile,L"打开"));
menu_btns.push_back(new PushButton(c_Rectangle,L"矩形"));
menu_btns.push_back(new PushButton(c_Triangle,L"三角"));
menu_btns.push_back(new PushButton(c_Straight,L"直线"));
menu_btns.push_back(new PushButton(c_Circle,L"圆形"));
menu_btns.push_back(new PushButton(c_Ellipse,L"椭圆"));
menu_btns.push_back(new PushButton(c_Linecolor,L"线条颜色"));
menu_btns.push_back(new PushButton(c_Savefile,L"保存"));
menu_btns.push_back(new PushButton(c_Polygon,L"多边形"));
menu_btns.push_back(new PushButton(c_Curve,L"曲线"));
menu_btns.push_back(new PushButton(c_Color,L"上色"));
menu_btns.push_back(new PushButton(c_Select,L"框选"));
menu_btns.push_back(new PushButton(c_Exit,L"退出"));
}
/*********************************
-
按钮的界面初始化
*********************************/
void ManageMent::initButton() {
for (int i = 0; i < menu_btns.size(); i++) {
//设置按钮大小
int dx = (getwidth()) / 12;
int dy = (getheight()) / 13;
menu_btns[i]->setFixedSize(dx, dy);//设置按钮位置 int _x, _y; if (i <= 6) { _x = 5 * dx + i * dx; _y = 0; } else if (i <= 13) { _x = 5 * dx + (i - 7) * dx; _y = dy; } menu_btns[i]->setLocation(_x, _y);
}
}