请在c#中转换此代码以解码bmp文件(请帮帮我) [英] please convert this code in c# for decode bmp file(Please help me)

查看:74
本文介绍了请在c#中转换此代码以解码bmp文件(请帮帮我)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  #include     define.h 

void bmp_read(< span class =code-keyword> 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 ,输入) ;
fread(& b-> header.reserved1, 2 1 ,输入) ;
fread(& b-> header.reserved2, 2 1 ,输入) ;
fread(& b-> header.offset, 4 1 ,输入) ;

fread(& b-> info.size, 4 1 ,输入);
fread(& b-> info.width, 4 1 ,输入) ;
fread(& b-> info.height, 4 1 ,输入) ;
fread(& b-> info.planes, 2 1 ,输入) ;
fread(& b-> info.bits, 2 1 ,输入) ;
fread(& b-> info.compression, 4 1 ,输入) ;
fread(& b-> info.imagesize, 4 1 ,输入) ;
fread(& b-> info.xresolution, 4 1 ,输入) ;
fread(& b-> info.yresolution, 4 1 ,输入) ;
fread(& b-> info.ncolours, 4 1 ,输入) ;
fread(& b-> info.importantcolours, 4 1 ,输入) ;

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 ,输入);

fclose(输入);
}

解决方案

使用C#(.NET),您无需直接读取.BMP文件。您可以使用 System.Drawing.Bitmap 方法:

位图类(System.Drawing) [ ^ ]。



您可以使用以下构造函数之一打开.BMP文件或多种不同格式的文件:位图构造函数(System.Drawing) [ ^ ]。



这些是保存方法:

位图构造函数(System.Drawing) [ ^ ],

Bitmap.SaveAdd Method(System.Drawing) [ ^ ]。



这就是全部。



-SA

#include "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);
}

解决方案

With C# (.NET), you don't need to read a .BMP file directly. You can use System.Drawing.Bitmap methods:
Bitmap Class (System.Drawing)[^].

You can open a .BMP file, or a file of a number of different formats, with one of the constructors: Bitmap Constructor (System.Drawing)[^].

And these are save methods:
Bitmap Constructor (System.Drawing)[^],
Bitmap.SaveAdd Method (System.Drawing)[^].

That's all.

—SA


这篇关于请在c#中转换此代码以解码bmp文件(请帮帮我)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆