要在C++中打开BMP图片,可以使用以下代码:

#include <iostream>
#include <fstream>

#pragma pack(push, 1)
struct BitmapFileHeader {
    uint16_t signature;
    uint32_t fileSize;
    uint32_t reserved;
    uint32_t dataOffset;
};

struct BitmapInfoHeader {
    uint32_t size;
    int32_t width;
    int32_t height;
    uint16_t planes;
    uint16_t bitCount;
    uint32_t compression;
    uint32_t imageSize;
    int32_t xPixelsPerMeter;
    int32_t yPixelsPerMeter;
    uint32_t colorsUsed;
    uint32_t colorsImportant;
};
#pragma pack(pop)

int main() {
    std::ifstream file("image.bmp", std::ios::binary);
    if (!file) {
        std::cout << "Failed to open file." << std::endl;
        return 1;
    }

    BitmapFileHeader fileHeader;
    BitmapInfoHeader infoHeader;

    file.read(reinterpret_cast<char*>(&fileHeader), sizeof(fileHeader));
    file.read(reinterpret_cast<char*>(&infoHeader), sizeof(infoHeader));

    std::cout << "File Size: " << fileHeader.fileSize << " bytes" << std::endl;
    std::cout << "Image Width: " << infoHeader.width << " pixels" << std::endl;
    std::cout << "Image Height: " << infoHeader.height << " pixels" << std::endl;

    file.close();

    return 0;
}

请注意,这只是一个示例,仅读取并打印了BMP文件的文件大小、图像宽度和图像高度。要进一步处理图像数据,可能需要更多的代码。

c++打开bmp图片

原文地址: https://www.cveoy.top/t/topic/i7oY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录