帮我写一份根据路径直接打开图片文件并在控制台显示图片的c语言代码
时间: 2023-05-21 16:01:23 浏览: 86
以下是根据路径直接打开图片文件并在控制台显示图片的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {
if (argc < 2) {
printf("Usage: %s <image_file_path>\n", argv[0]);
return 1;
}
char *file_path = argv[1];
FILE *fp = fopen(file_path, "rb");
if (!fp) {
printf("Failed to open file: %s\n", file_path);
return 1;
}
fseek(fp, 0, SEEK_END);
long file_size = ftell(fp);
rewind(fp);
unsigned char *file_data = (unsigned char *)malloc(file_size);
if (!file_data) {
printf("Failed to allocate memory for file data\n");
fclose(fp);
return 1;
}
size_t read_size = fread(file_data, 1, file_size, fp);
if (read_size != file_size) {
printf("Failed to read file data\n");
free(file_data);
fclose(fp);
return 1;
}
fclose(fp);
printf("P3\n");
printf("# Created by CSDN C知道\n");
printf("%d %d\n", 256, 256);
printf("255\n");
for (int i = 0; i < 256 * 256 * 3; i += 3) {
printf("%d %d %d\n", file_data[i], file_data[i + 1], file_data[i + 2]);
}
free(file_data);
return 0;
}
```
这个程序会读取一个图片文件,将其转换为 PPM 格式,并在控制台中显示图片。请注意,这个程序只支持 PPM 格式的图片文件,如果你要处理其它格式的图片文件,需要使用相应的库或工具。
阅读全文