このフラグのイメージを表示する ppm ファイルを作成しようとしています。
これは 1200 (列) x 600 (行) の画像で、縦の赤いバーの幅は 300 列です。私はすでにコードを書いており、問題なくコンパイルできましたが、Gimp で ppm ファイルを表示しようとすると、次のように不平を言います: ファイルの終了が早すぎます。以前の 2 つのフラグの ppm ファイルをまったく同じ形式 (for ループが異なるだけ) で作成し、それらが Gimp によって表示されたため、何が起こっているのかわかりません (問題はありましたが、Gimp を数回再起動する必要がありました)。 )。
このフラグのコードは次のとおりです。
#include <stdio.h>
int main() {
printf("P6\n");
printf("%d %d\n", 1200, 600);
printf("255\n");
int widthGreen, widthWhite, widthBlack, widthVertical, width, height, i, j;
unsigned char Rcolor, Bcolor, Gcolor;
widthGreen = 200;
widthWhite = 400;
widthBlack = 600;
widthVertical = 300;
width = 1200;
height = 600;
for (j = 0; j < height; j++) {
for (i = 0; i < widthVertical ; i++) {
Rcolor = 255;
Gcolor = 0;
Bcolor = 0;
printf("%c%c%c", Rcolor, Gcolor, Bcolor);
}
}
for (j = 0; j < widthGreen; j++) {
for (i = 400; i < width; i++) {
Rcolor = 0;
Gcolor = 128;
Bcolor = 0;
printf("%c%c%c", Rcolor, Gcolor, Bcolor);
}
}
for (j = 201; j <= widthWhite; j++) {
for (i = 400; i < width; i++) {
Rcolor = 255;
Gcolor = 255;
Bcolor = 255;
printf("%c%c%c", Rcolor, Gcolor, Bcolor);
}
}
for (j = 401; j <= widthBlack; j++) {
for (i = 400; i < width; i++) {
Rcolor = 0;
Gcolor = 0;
Bcolor = 0;
printf("%c%c%c", Rcolor, Gcolor, Bcolor);
}
}
return (0);
}