所以,我必须创建一个 ppm 文件,它会给我意大利国旗的图像(3 个垂直条,从左到右,绿色,白色,然后是红色)。并且图像必须是 600 x 400。(按行列)我已经尝试多次重写我的代码,但是,我的图像只是水平放置而不是垂直放置的三个条。此外,线条并不完全平整。但最大的问题是,为什么我的绿色、白色和红色条不垂直?任何帮助是极大的赞赏。
这是我的代码:
#include <stdio.h>
int main() {
printf("P6\n");
printf("%d %d\n", 600, 400);
printf("255\n");
int height, widthGreen, widthWhite, widthRed, i, j;
unsigned char Rcolor, Bcolor, Gcolor;
widthGreen = 200;
widthWhite = 400;
widthRed = 600;
height = 400;
for (j = 0; j < height; j++) {
for (i = 0; i < widthGreen; i++) {
Rcolor = 0;
Gcolor = 128;
Bcolor = 0;
printf("%c%c%c", Rcolor, Gcolor, Bcolor);
}
}
for (j = 0; j < height; j++) {
for (i = 201; i <= widthWhite; i++) {
Rcolor = 255;
Gcolor = 255;
Bcolor = 255;
printf("%c%c%c", Rcolor, Gcolor, Bcolor);
}
}
for (j = 0; j < height; j++) {
for (i = 401; i <= widthRed; i++) {
Rcolor = 255;
Gcolor = 0;
Bcolor = 0;
printf("%c%c%c", Rcolor, Gcolor, Bcolor);
}
}
return (0);
}