创建绘制y=ax2+bx+c的图像的GUI,其中参数a、b、c及绘图范围等过过界面上的文本编辑框输入
2条回答 默认 最新
- maxos 2018-04-30 07:00关注
BOOL CDrawImageDlg::OnEraseBkgnd(CDC* pDC) { CDialogEx::OnEraseBkgnd(pDC); if (pDC == NULL) { return true; } // 从编辑框取值: std::wstring wsA = GetEditText(IDC_EDIT1); std::wstring wsB = GetEditText(IDC_EDIT2); std::wstring wsC = GetEditText(IDC_EDIT3); std::wstring wsRangeX = GetEditText(IDC_EDIT4); std::wstring wsRangeY = GetEditText(IDC_EDIT5); std::wstring wsDrawLeft = GetEditText(IDC_EDIT6); std::wstring wsDrawTop = GetEditText(IDC_EDIT7); std::wstring wsDrawRight = GetEditText(IDC_EDIT8); std::wstring wsDrawBottom = GetEditText(IDC_EDIT9); // 定义 float fRangeX = (float)wcstof(wsRangeX.c_str(), NULL); float fRangeY = (float)wcstof(wsRangeY.c_str(), NULL); // 把编辑框的字符串转换成整数值: float nA = (float)wcstof(wsA.c_str(), NULL); float nB = (float)wcstof(wsB.c_str(), NULL); float nC = (float)wcstof(wsC.c_str(), NULL); // x轴与 y轴的起始量: int nStartX = (int)wcstol(wsDrawLeft.c_str(), NULL, 10); int nStartY = (int)wcstol(wsDrawTop.c_str(), NULL, 10); // X轴与Y轴的绘制区域,防止画出界: int nRangeWidth = (int)wcstol(wsDrawRight.c_str(), NULL, 10); int nRangeHeight = (int)wcstol(wsDrawBottom.c_str(), NULL, 10); // 绘制外框: pDC->Rectangle(nStartX, nStartY, nRangeWidth, nRangeHeight); // 计算坐标中心点: int nBaseX = nStartX + (nRangeWidth - nStartX) / 2; int nBaseY = nStartY + (nRangeHeight - nStartY) / 2; // 绘制Y轴基线(坐标轴) pDC->MoveTo(nStartX, nBaseY); pDC->LineTo(nRangeWidth, nBaseY); // 绘制Y轴基线(坐标轴) pDC->MoveTo(nBaseX, nStartY); pDC->LineTo(nBaseX, nRangeHeight); // 绘制算法图像: int nFirstPoint = 0; float fX = 0.0f, fY = 0.0f; for (fX = -fRangeX; fX <= fRangeX; fX += 1.0f) { // 计算数值: fY = (float)nA * (fX * fX) + (float)nB * fX + (float)nC; // 绘制到屏幕上: int x = nBaseX + (int)fX; int y = nBaseY + (int)fY; if (nFirstPoint == 0) { pDC->MoveTo(x, y); nFirstPoint = 1; } pDC->LineTo(x, y); } return true; }
这个上面不能发送RAR文件,Demo我放在百度网盘,下载地址是:
https://pan.baidu.com/s/1W5RkLL2-MuIKJR6q3XwOwg
我一点 C 币都没有了,如果能用上,求给一点C币,感激不尽。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 4无用
悬赏问题
- ¥15 计组这些题应该咋做呀
- ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
- ¥15 让node服务器有自动加载文件的功能
- ¥15 jmeter脚本回放有的是对的有的是错的
- ¥15 r语言蛋白组学相关问题
- ¥15 Python时间序列如何拟合疏系数模型
- ¥15 求学软件的前人们指明方向🥺
- ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
- ¥20 双层网络上信息-疾病传播
- ¥50 paddlepaddle pinn