怎么在C#中创建BMP文件(没有文件头,有数据部分)

usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Drawing;
usingSystem.IO;

public  BitmapAddHeader(byte[]imageDataDetails)
    {
       Bitmapbitmap=null;
      intlength=imageDataDetails.GetLength(0);
       using(MemoryStreamstream=newMemoryStream(length+14))//为头腾出14个长度的空间
       {
        byte[]buffer=newbyte[13];
         buffer[0]=0x42;//Bitmap固定常数
        buffer[1]=0x4d;//Bitmap固定常数
         stream.Write(buffer,0,2);//先写入头的前两个字节

        //把我们之前获得的数据流的长度转换成字节,
        //这个是用来告诉“头”我们的实际图像数据有多大
         byte[]bytes=BitConverter.GetBytes(length);
         stream.Write(bytes,0,4);//把这个长度写入头中去
        buffer[0]=0;
        buffer[1]=0;
        buffer[2]=0;
        buffer[3]=0;
         stream.Write(buffer,0,4);//在写入4个字节长度的数据到头中去
         intnum2=0x36;//Bitmap固定常数
         bytes=BitConverter.GetBytes(num2);
         stream.Write(bytes,0,4);//在写入最后4个字节的长度
        stream.GetBuffer();
         stream.Write(imageDataDetails,0,length);//把实际的图像数据全部追加到头的后面
         bitmap=newBitmap(stream);//用内存流构造出一幅bitmap的图片
         bitmap.RotateFlip(RotateFlipType.Rotate180FlipX);
         stream.Close();
        returnbitmap;//最后就得到了我们想要的图片了
      }
     }

 

转载于:https://www.cnblogs.com/yuanyuan/articles/3520707.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值