一个坐标文件记录许多坐标,每一行记录一对坐标,在C++中编写代码读取txt坐标文件并在easyx中绘制图形
时间: 2024-01-22 10:19:38 浏览: 78
C++绘图程序,绘制矩形,直线,曲线,三角形,多边形,椭圆,圆;给图形上色,框选图形,文件存储,坐标显示等等功能
以下是一个读取txt文件并在easyx中绘制图形的示例代码:
```cpp
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <sstream>
#include <graphics.h>
using namespace std;
struct Point {
int x, y;
};
vector<Point> readPointsFromFile(string filename) {
vector<Point> points;
ifstream file(filename);
if (file.is_open()) {
string line;
while (getline(file, line)) {
Point point;
stringstream ss(line);
ss >> point.x >> point.y;
points.push_back(point);
}
file.close();
}
return points;
}
int main() {
initgraph(640, 480); // 初始化画布
setbkcolor(WHITE); // 设置背景颜色为白色
cleardevice(); // 清屏
vector<Point> points = readPointsFromFile("coords.txt"); // 从文件中读取坐标
for (int i = 0; i < points.size(); i++) {
circle(points[i].x, points[i].y, 5); // 在坐标点处画一个半径为5的圆
}
getch(); // 等待用户按任意键
closegraph(); // 关闭画布
return 0;
}
```
其中,`readPointsFromFile` 函数用于读取坐标文件,返回一个存放坐标点的向量 `vector<Point>` 。在 `main` 函数中,我们先初始化画布,设置背景颜色和清屏,然后读取坐标文件,遍历坐标点并在画布上绘制一个半径为5的圆,最后等待用户按任意键并关闭画布。
阅读全文