请在c#中转换此代码以解码bmp文件(请帮帮我) [英] please convert this code in c# for decode bmp file(Please help me)
本文介绍了请在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 useSystem.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屋!
查看全文