C言語を用いてBMP形式の画像を1枚取得して、その画像の幅と高さを取得するプログラムを作成したいです。
BMPのファイルには先頭から18byte目に4byteで画像の幅が、22byte目に4byteで画像の高さが格納されているのですがどのように取得すれば良いのかがわかりません。
#include<stdlib.h> #include<stdio.h> #define BITMAPINFOHEADER #define BITMAPV4HEADER #define BITMAPV5HEADER int main(){ FILE* fp = fopen("image.bmp","wb"); //image.bmp・・・幅と高さを取得する画像 if(fp==NULL){ perror("fopen"); return 0; } int width,height; //取得する幅と高さ fclose(fp); return 0; }
fseekを使ってファイルを読み進めていくのが一番いいかなと思ったのですが使い方もまだあまり理解できていません。
よろしくお願いいたします。
理解できないなりに一通り試してみましょう。その際モードをrbにすると、ファイルを壊してしまう心配も必要なくなります。