首页 文章

读取PPM文件RGB值C.

提问于
浏览
0

我正在尝试从PPM文件中读取 . 我想在this file中读取每行的第一个,第二个和第三个数字,但我不知道如何阅读这些行 .

这是我到目前为止:

for (int y = 4; y <= HEIGHT; y++) { // i think it has to start on row 4 
    for (int x = 1; x <= WIDTH; x++) { // and x from 1
         int i = 4;

         int r = CurrentR(i);
         int g = CurrentG(i);
         int b = CurrentB(i);
         i++;
    }   
}

int CurrentR(int I) {
    return // the first number in row xy
}
int CurrentG(int I) {
    return // the second number in row xy
}
int CurrentB(int I) {
    return // the third number in row xy
}

1 回答

  • 0

    这就是我建议你这样做的方法:

    struct RGB {
        int R,B,G;
    }
    std::ifstream& operator>>(std::ifstream &in,RGB& rgb){
        in >> rgb.R;
        in >> rgb.G;
        in >> rgb.B;
        return in;
    }
    std::ostream& operator<<(std::ostream &out,RGB& rgb){
        out << rgb.R << " ";
        out << rgb.G << " ";
        out << rgb.B << std::endl;
        return out;
    }
    
    
    int main(){
        std::string filename = "test.txt";
        std::ifstream file(filename.c_str());
        if(file.is_open()) {
            std::string line;
            for (int i=0;i<4;i++) { std::getline(file,line); }
            RGB rgb;
            for (int i=0;i<LINES_TO_READ;i++) {
                file >> rgb;
                std::cout << rgb;
            }
        }
    }
    

相关问题