将ppm文件转换为ASCII art - 灰度计算

时间:2015-05-22 06:02:38

标签: c ascii-art

我正在编写一个程序,可以根据灰度将ppm文件转换为ASCII艺术。我有以下代码来转换图像:

while(fscanf(input, "%d%d%d", &red, &green, &blue)!=EOF){
    int grayscale;
    grayscale = (red + green +blue)/3;
    char c = convert_image_method(grayscale);
    fprintf(output, "%c", c);
}

如果我逐个处理文件中的每个像素,这将有效。但是,如果我必须处理更大的像素块,如2 * 2或3 * 3,该怎么办?并使用convert_image_method将更大的像素块转换为一个字符?我应该如何更改代码,以便它适用于这两种情况? (我还读取了图像的宽度和高度以及我应该转换ppm文件的像素块的大小)

0 个答案:

没有答案