#include <stdio.h> #include <stdlib.h> int main() { FILE* fp = fopen("ph(1).bmp", "rb"); if (fp == NULL) { printf("Failed to open image file!\n"); return -1; } unsigned char bmp_header[54]; fread(bmp_header, sizeof(unsigned char), 54, fp); int width = *(int*)&bmp_header[18]; int height = *(int*)&bmp_header[22]; int bit_count = *(short*)&bmp_header[28]; unsigned char* pixels = (unsigned char*)malloc(width * height * 3); fread(pixels, sizeof(unsigned char), width * height * 3, fp); fclose(fp); // 在这里可以使用像素数据做一些处理或显示 free(pixels); return 0;}
时间: 2024-04-01 14:36:34 浏览: 65
#include<stdio.h>
这段代码是一个简单的读取 BMP 图像文件并获取图像信息的程序。它首先通过 fopen 函数打开一个 BMP 图像文件,如果文件打开失败则输出错误信息并返回 -1。然后从文件中读取 BMP 文件头信息和像素数据,并通过指针解引用和位移运算获取图像的宽度、高度和位深等信息。最后释放像素数据的内存空间并返回 0。
需要注意的是,这段代码只能读取 BMP 格式的图像文件,并且只考虑了一些常见的 BMP 文件格式,可能无法处理一些特殊的 BMP 文件。在实际应用中,需要根据具体的需求和图像文件格式做相应的修改和完善。
阅读全文