gpt4 book ai didi

c - 为什么我的图像与我期望的不符?

转载 作者:行者123 更新时间:2023-11-30 17:45:22 25 4
gpt4 key购买 nike

因此,我必须创建一个 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);
}

最佳答案

四件事:第一是在值之间添加空格。第二种是在每行后面添加换行符。第三种是将值打印为(无符号)整数,而不是字符,255128 都不会打印为有效字符。第四种方法是使用一个循环来表示高度,其中三个循环用于表示颜色。将循环计数器视为像素,您就会明白原因。

关于c - 为什么我的图像与我期望的不符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19652401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com