将此代码转换为c#以解码bmp文件
本文关键字:解码 bmp 文件 代码 转换 | 更新日期: 2023-09-27 18:29:07
请转换c#或vb中的代码我在c#项目中使用hdr摄影,但我无法将c++中的此代码转换为c#。
#包括"define.h"
void bmp_read(char *filename, bmp *b)
{
FILE *input = fopen(filename, "rb");
if(input == NULL)
{
return;
}
fread(&b->header.type, 2, 1, input);
fread(&b->header.size, 4, 1, input);
fread(&b->header.reserved1, 2, 1, input);
fread(&b->header.reserved2, 2, 1, input);
fread(&b->header.offset, 4, 1, input);
fread(&b->info.size, 4, 1, input);
fread(&b->info.width, 4, 1, input);
fread(&b->info.height, 4, 1, input);
fread(&b->info.planes, 2, 1, input);
fread(&b->info.bits, 2, 1, input);
fread(&b->info.compression, 4, 1, input);
fread(&b->info.imagesize, 4, 1, input);
fread(&b->info.xresolution, 4, 1, input);
fread(&b->info.yresolution, 4, 1, input);
fread(&b->info.ncolours, 4, 1, input);
fread(&b->info.importantcolours, 4, 1, input);
b->info.imagesize = b->info.width * b->info.height * 3;
b->data = new unsigned char [b->info.imagesize];
fread(b->data, b->info.imagesize, 1, input);
fclose(input);
}
我不认为有"BMP"结构的默认定义(就像在这段代码中一样)。第一个也是最重要的问题是:你将如何处理bmp文件?
这是你不能用"Image.FromFile"函数做的事情吗?https://msdn.microsoft.com/en-us/library/4sahykhd%28v=vs.110%29.aspx