方法1:


/// <summary>
/// rgb像素值转换为bmp文件
/// </summary>
/// <param name="buffer">rgb像素数组</param>
/// <param name="width">图片宽</param>
/// <param name="height">图片高</param>
/// <param name="filename">bmp文件名</param>
/// note:
/// 好像说buffer存的图片长、宽都要是4的倍数,我这里没做适配,可能不是4的倍数可能bmp文件会有问题
public static void ConvertRGB2Bmp(byte[] buffer, int width, int height, string filename)
{
using (FileStream fs = File.Open(filename, FileMode.Create))
{
using (BinaryWriter bw = new BinaryWriter(fs))
{
bw.Write('B');
bw.Write('M');//BM 2
bw.Write(40 + 14 + buffer.Length);//SIZE 4
bw.Write((ushort)0);//bfReserved1 2
bw.Write((ushort)0);//bfReserved2 2
bw.Write(40 + 14); //4
bw.Write(40); //4
bw.Write(width);
bw.Write(height);
bw.Write((ushort)1);
bw.Write((ushort)24);
bw.Write(0);
bw.Write(buffer.Length);
bw.Write(0);
bw.Write(0);
bw.Write(0);
bw.Write(0);
bw.Write(buffer, 0, buffer.Length); bw.Flush();
}
}
}

方法2:使用BitmapData,用Marshal.Copy将直接复制到BitmapData中,然后返回就是bitmap对象,直接save

这个一大堆,到处都是

图片的 rgb信息 byte[] 直接转换为bmp文件的更多相关文章

  1. BCB实现BMP图片的RGB分解(转)

    源:BCB实现BMP图片的RGB分解 1.打开BMP图片文件,在Image控件中显示: if(dlgOpen1->Execute()) { edt1->Text=dlgOpen1-> ...

  2. MFC 对话框Picture Control(图片控件)中静态和动态显示Bmp图片

    版权声明:本文为博主原创文章,转载请注明CSDN博客源地址! 共同学习,一起进步~ https://blog.csdn.net/Eastmount/article/details/26404733   ...

  3. C#读取MP3文件的专辑图片和ID3V2Tag信息(带代码)

    第二次更新,后面的代码有问题,有些专辑图片读取不到.发现是PNG图片的问题.在读取的过程中调试发现,图片帧前10个字节包含了图片的格式,在有些歌曲写着JPEG的格式,数据却是PNG的.先说下思路. j ...

  4. 上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片

    原文:上传图片时,使用GDI+中重绘方式将CMYK图片转为RGB图片 我们知道,如果网站上传图片时,如果用户上传的是CMYK图片,那么在网站上将是无法显示的,通常的现象是出现一个红叉.下面使用将Ima ...

  5. IOS: 使用imageIO获取和修改图片的exif信息

    使用imageIO获取和修改图片的exif信息 一幅图片除了包含我们能看见的像素信息,背后还包含了拍摄时间,光圈大小,曝光等信息.UIImage类将这些细节信息都隐藏了起来,只提供我们关心的图片尺寸, ...

  6. C# 获取图片的EXIF 信息

    关于 EXIF 信息的介绍. 1  EXIF,是英文Exchangeable Image File(可交换图像文件)的缩写.EXIF是一种图像文件格式,只是文件的后缀名为jpg.EXIF信息是由数码相 ...

  7. Java 图片提取RGB数组 RGBOfCharMaps (整理)

    package demo; /** * Java 图片提取RGB数组 RGBOfCharMaps (整理) * 声明: * 和ImageCombining配合使用的工具,这里是提取图片的R.G.B生成 ...

  8. 用C#读取图片的EXIF信息的方法

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Dr ...

  9. 如何将打印内容转换为bmp位图文件

    bmp是一种与硬件设备无关的图像文件格式,使用非常广.它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BblP文件所占用的空间很大.BMP文件的图像深度可选lbit.4bit.8 ...

  10. c/c++ 获取BMP文件信息

    #include <stdio.h> #include <string.h> typedef struct BITMAPFILEHEADER { // BMP文件头 u_int ...

随机推荐

  1. PM-如何优雅的抄袭代码?世上所有代码都是一大抄

    你借了我的思想,在我的思想上,发展出一套理好的思想. 你借了我的代码,在我的代码上,开发出一套理好的代码.   你们知道程序员最熟悉,最熟练,最常用的两个快捷键是哪两个吗?没错,估计你现在心中所想的就 ...

  2. 安卓导出已安装app的apk

    安卓导出已安装应用APK 有时候想看看别人的APK里面的资源文件或者是逆向,首先就得先搞到APK文件 两种方法获取手机上已安装应用的APK文件 通过adb命令 首先把目标手机连接上电脑 在终端输入 a ...

  3. NATS: 请求-响应消息

    请求-回复消息 https://docs.nats.io/nats-concepts/core-nats/reqreply 请求-回复 在分布式系统中,请求-回复是一种常见的模式.发送请求之后,应用程 ...

  4. 虚拟机安装 Win10 ,无法启动,报错EFI Network ... Time out

    问题情况 VMWare 16 安装 win10 的镜像文件,无法启动,报错 EFI Network ... Time out 解决办法 虚拟机设置中 固件类型 改用 BIOS 已解决

  5. 永久告别mac屏幕涂层脱落

    转载:https://www.feng.com/post/11380203 我从2011年开始使用Mac book pro电脑,到现在的2016款已经是第三台了,我从来都不会被涂层脱落这个问题困扰,我 ...

  6. pygame基础功能总结

    1.导入Pygame模块 (1) 模块并初始化 ① Import pygame ② Pygame.init() (2) 创建窗体 ① Window_size = (800,600)  长宽 ② Scr ...

  7. Qt编写的项目作品4-输入法V2019

    一.功能特点 未采用Qt系统层输入法框架,独创输入切换机制. 纯QWidget编写,支持任何目标平台(亲测windows.linux.嵌入式linux等),支持任意Qt版本(亲测Qt4.6.0到Qt5 ...

  8. 微服务实战系列(十一)-微服务之自定义脚手架-copy

    微服务实战系列(十一)-微服务之自定义脚手架   1. 场景描述 (1)随着微服务越来越常见,一个大的项目会被拆分成多个小的微服务,jar包以及jar之间的版本冲突问题,变得越来越常见,如何保持整体微 ...

  9. python 控制流程

    条件语句 if语法 if True: print("hello") print("world!") 输出: helloworld! 举例: "&quo ...

  10. SSL 和 TLS

    转载:链接1   链接2 TLS和SSL SSL(Secure Sockets Layer)安全套接层协议 TLS(Transport Layer Security)传输层安全性协议 最新版本的TLS ...