c++打开bmp图片
要在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文件的文件大小、图像宽度和图像高度。要进一步处理图像数据,可能需要更多的代码。
原文地址: https://www.cveoy.top/t/topic/i7oY 著作权归作者所有。请勿转载和采集!