c++ - 如何在 C++ 中绘制数据?
问题描述
我正在尝试使用 c++ 中的 graphics.h 制作图表。我正在关注 youtube 上的教程。似乎是由于视频的年龄(也许语法略有变化?)或我的问题;我什至无法为我的图表打开一个单独的窗口。对我来说,我处于完全未知的领域,因为我的编码知识是你期望从第一学期的编码课程中学到的。我正在使用 DEV C++ 并正在使用“TDM-GCC 4.9.2 32 位版本”进行编译(因为 64 位版本在“Makefile.win”中给了我一个让我害怕的错误)并且我的程序以返回值退出3221225477. 我做错了什么?
#include"graphics.h"
#include<math.h>
#include<conio.h>
#include<iostream>
using namespace std;
int main() {
initwindow(800,600);
int x,y;
line(0,300,getmaxx(),300);
line(400,0,400,getmaxy());
float pi=3.14159;
for(int i=-360;i<=360;i++){
x=(int)400+i;
y=(int)300-sin(i*pi/100)*25;
putpixel(x,y,WHITE);
}
getch();
closegraph();
return 0;
}
解决方案
根据您的问题和退出代码,十六进制的返回值为 0xC0000005 或 STATUS_ACCESS_VIOLATION。但是大多数开发人员甚至都懒得去学习过时的遗留 API,我也无法帮助您找到确切的行(使用调试器,它会向您显示确切的行,但仍然不是原因)。
但是要在标题中回答您的问题,好吧,根据使用的免费框架(Qt 或 XWidget),方法有所不同,因为 Qt(我会推荐)只需覆盖paint-event 并使用 QPainter 渲染器来显示您的 QPath 数据.
不要重新发明轮子(在这种情况下是渲染系统),您的课程和/或书籍可能很快就会向您介绍上述框架之一。
推荐阅读
- java - Absence of toMap method with key, value and map supplier in Collectors
- vim - 如果 Vim 中有多个空间,则渲染空间
- ios - How to send voip push notification from node js? I can send voip push from curl but not node
- python - Unable to install NLTK with Python 3.7
- java - reuse same class in different class hierarchies
- matplotlib - I am trying to PLot Bar chart by integrating matplotlib with Pyspark. I am getting error
- nginx - Nginx IPV6 with CDN and real_ip
- python - 传递类参数python
- typescript - 更新节点 10 后,.d.ts 文件未在项目中生成
- python - 计算 2 列中共享相同值的单元格数