将此代码转换为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);
}

将此代码转换为c#以解码bmp文件

我不认为有"BMP"结构的默认定义(就像在这段代码中一样)。第一个也是最重要的问题是:你将如何处理bmp文件?

这是你不能用"Image.FromFile"函数做的事情吗?https://msdn.microsoft.com/en-us/library/4sahykhd%28v=vs.110%29.aspx