ANSI CでBMPファイルの読み書き方法


以下は、BMPファイルを読み込むための簡単なコード例です。

#include <stdio.h>
#pragma pack(push, 1)
typedef struct {
    unsigned char signature[2];
    unsigned int fileSize;
    unsigned short reserved1;
    unsigned short reserved2;
    unsigned int dataOffset;
} BMPHeader;
#pragma pack(pop)
int main() {
    FILE* file = fopen("image.bmp", "rb");
    if (file == NULL) {
        printf("ファイルを開けませんでした。");
        return 1;
    }
    BMPHeader header;
    fread(&header, sizeof(BMPHeader), 1, file);
    // ヘッダ情報の解析と画像データの読み込み処理を行う
    fclose(file);
    return 0;
}

次に、BMPファイルへの書き込み方法について説明します。BMPファイルのヘッダと画像データを作成し、ファイルに書き込むことでBMPファイルを作成することができます。

以下は、BMPファイルに画像データを書き込むための簡単なコード例です。

#include <stdio.h>
#pragma pack(push, 1)
typedef struct {
    unsigned char signature[2];
    unsigned int fileSize;
    unsigned short reserved1;
    unsigned short reserved2;
    unsigned int dataOffset;
} BMPHeader;
#pragma pack(pop)
int main() {
    BMPHeader header;
    // ヘッダ情報の設定
    FILE* file = fopen("image.bmp", "wb");
    if (file == NULL) {
        printf("ファイルを作成できませんでした。");
        return 1;
    }
    fwrite(&header, sizeof(BMPHeader), 1, file);
    // 画像データの書き込み処理を行う
    fclose(file);
    return 0;
}

この記事では、簡単なコード例を使用してANSI CでBMPファイルの読み書きを行う方法を紹介しました。これにより、画像処理やグラフィックスプログラミングの基礎を学ぶ上で役立つ情報を提供できると思います。