CプログラムでPGMファイルを書き込もうとしていますが、一度書き込んだ後、開いて画像を表示しようとすると、画像のファイル形式がわからないと言われます。
ただし、geanyで新しいファイルを作成し、データをコピーして、それを新しいPGMとして保存すると、機能します。
なぜこれが可能であるかについて何か考えはありますか?
FILE * grey = fopen("greyscale.pgm", "w");
fprintf(grey, "P2 \r\n%d %d \r\n255 \r\n", width, height);
for (i = 0; i < width; i++) {
for (j = 0; j < height; j++) {
fprintf(grey, "%d ", ((imageArray[i][j].red + imageArray[i][j].green + imageArray[i][j].blue)/3));
}
fprintf(grey, "\r\n");
}
カラー画像をグレースケールに変換しています。