NOJ 检测位图长宽

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include<vector>
#include <cmath>
#pragma pack(1)
using namespace std;

typedef struct tagBITMAPFILEHEADER
{
    unsigned short bfType;
    unsigned int bfSize;
    unsigned short bfReserved1;
    unsigned short bfReserved2;
    unsigned int bf0ffBits;
}BITMAPFILEHEADER;
typedef struct tagBITMAPINFOHEADER
{
    unsigned int biSize;
    long biWidth;
    long biHeight;
    unsigned short biPlanes;
    unsigned short biBitCount;
    unsigned int biCompression;
    unsigned int biSizeImage;
    long biXPelsPerMeter;
    long biYPelsPerMeter;
    unsigned int biClrUsed;
    unsigned int biClrImportant;
}BITMAPINFOHEADER;
int main()
{
    BITMAPFILEHEADER bmfh;
    BITMAPINFOHEADER bmih;
    FILE*bmp;
    //printf("%d,%d\n",sizeof(BITMAPFILEHEADER),sizeof(BITMAPINFOHEADER));
    bmp=fopen("DATA5611.BMP","rb");
    if(bmp!=NULL)
    {
        fread(&bmfh,sizeof(BITMAPFILEHEADER),1,bmp);
        fread(&bmih,sizeof(BITMAPINFOHEADER),1,bmp);
        printf("%d %d",bmih.biWidth,bmih.biHeight);
        fclose(bmp);

    }
    return 0;
}
发布了38 篇原创文章 · 获赞 12 · 访问量 3949

猜你喜欢

转载自blog.csdn.net/int_lyy/article/details/84331724