即時通訊新手入門,並在我的第一個項目上工作,其中涉及讀取下面表單的.txt文件。我遇到的問題是將像素的值插入到2D動態表中,我可以稍後分析。我需要讀取第一個像素的值並將其放置到表格的第一個元素中,並將第二個像素插入到表格的第二個元素中......直到我將所有像素放在高度爲150和寬度爲250的表格中(注意這只是一個例子,維度可以根據.txt文件而改變)。從.txt文件中讀取並將值輸入到多維向量中
250 // width pixels
150 // height en pixels
2 // number of colours
205 // colour 0
35 // colour 1
0 // value of pixel 0, background colour (white)
0 // value of pixel 1, background colour (white)
…
205 // one pixel of colour 0 (red)
…
35 // one pixel of colour 1 (blue)
…
0 // value of last pixel, background colour
到目前爲止,我的代碼如下所示(其中編譯):
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main() {
ifstream f_in;
f_in.open("Pixmap.txt");
int largeur;
int hauteur;
int nbre;
if (f_in.is_open())
{
f_in >> largeur;
f_in >> hauteur;
f_in >> nbre;
}
else cerr << "Unable to open file";
f_in.close();
return 0;
}
任何幫助,將不勝感激...謝謝
我不太明白的輸入格式。 您將獲得寬度和高度,然後X數量的顏色,然後是X顏色值?顏色值是什麼意思? 205紅色是怎樣的?它似乎不像你使用RGB? 無論如何,您可以將每一位數據讀入一個向量/列表並重新構造它/重用它,或者您可以在1遍中創建多維向量。 – Mohammad 2015-04-03 10:05:32
txt文件中的值代表圖形的圖像。因此,紅色像素用數字205表示,藍色像素用35表示,白色像素用0表示。圖像可以包含任意數量的顏色,所以前幾行提供了顏色數量及其代表值的信息。我的問題是試圖讀取這些值,並把它們放入一個多維向量,努力掙扎,因爲它只是我的第五個星期的C++ ..謝謝:) – 2015-04-03 10:09:29