转为24位RGB灰度格式:

此方法讨论过程及实例,见贴:C#如何将【记录了图片信息的二进制文件】转为正常可打开的图片文件?

private void button2_Click(object sender, EventArgs e)
{var data = File.ReadAllBytes(@"输入文件路径.raw");int w = 1240;int h = 1210;Bitmap bitm = new Bitmap(w, h, PixelFormat.Format24bppRgb);  //构建位图框架,24位格式(这里可以更改位深)int i = 0;for (var y = 0; y < h; y++){for (var x = 0; x < w; x++){var n = data[i++];bitm.SetPixel(x, y, Color.FromArgb(n, n, n));  //逐像素赋值 (只有4个参数时,才与ARGB32位格式匹配)}}pictureBox1.Image = bitm;pictureBox1.Refresh();  //更新显示内容bitm.Save(@"输出文件路径.png", System.Drawing.Imaging.ImageFormat.Png);
}

转为8位调色板(Palette)灰度格式 (此格式占用空间小):

private void button3_Click(object sender, EventArgs e)
{var ImageData = File.ReadAllBytes(@"输入文件路径.raw");int imageWidth = 1240;int imageHeight = 1210;//数组转换为IntptrIntPtr pData = Marshal.AllocHGlobal(imageWidth * imageHeight);Marshal.Copy(ImageData, 0, pData, imageWidth * imageHeight);//创建灰度位图Bitmap bmp = new Bitmap(imageWidth, imageHeight, imageWidth, PixelFormat.Format8bppIndexed, pData);//修改位图的调色板ColorPalette palette = bmp.Palette;for (int i = 0; i < 256; i++){palette.Entries[i] = Color.FromArgb(i, i, i);}bmp.Palette = palette;//显示、保存pictureBox1.Image = bmp;pictureBox1.Refresh();bmp.Save(@"输出文件路径.bmp", ImageFormat.Bmp);
}

C# 将raw格式的二进制灰度图像转为正常位图格式相关推荐

  1. C#,生信软件实践(03)——DNA数据库GenBank格式详解及转为FASTA序列格式的源代码

    1 GenBank 1.1 NCBI--美国国家生物技术信息中心(美国国立生物技术信息中心) NCBI(美国国立生物技术信息中心)是在NIH的国立医学图书馆(NLM)的一个分支.它的使命包括四项任务: ...

  2. 【图片格式转换】python实现批量图片格式转换:emf、jpeg等转为png

    [图片格式转换]python批量进行图片格式转换emf.jpeg等转为png 文章目录 [图片格式转换]python批量进行图片格式转换emf.jpeg等转为png 1. 代码 2. 效果 3. 总结 ...

  3. python二进制打开(rb)和文本格式打开(r)什么区别?

    使用 open() 函数以文本格式打开文件和以二进制格式打开文件,唯一的区别是对文件中换行符的处理不同. 在 Windows 系统中,文件中用 "\r\n" 作为行末标识符(即换行 ...

  4. MySQL rpm包 二进制区别_Linux环境下安装mysql5.6(二进制包不是rpm格式)

    一.准备: 1.CentOS release 6.8 2.mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz 3.Linux下MySQL5.6与MySQL5.7安装方法 ...

  5. Linux 命令之 rpmbuild -- 用于创建 rpm 格式的二进制软件包和源码软件包

    文章目录 一.命令介绍 二.命令选项 (一)从 specfile 建立 (二)从 tarball 包建立 (三)从 source package 包建立 (四)其它选项 (五)所有 rpm 都可使用的 ...

  6. C基础——文本格式和二进制格式的区别

    原文请见 深入:文本格式和二进制格式到底有什么不同? "信息"在机器层面是通过0和1的排列方式来体现的.可是这些0和1如何变成我们在windows环境下的记事本中看到的文本或者图片 ...

  7. python时间间隔标准化输出_利用Python将时间或时间间隔转为ISO 8601格式方法示例...

    前言 大家都知道,Python自带的datetime库提供了将datetime转为ISO 8610格式的函数,但是对于时间间隔(inteval)并没有提供转换的函数,下面我们动手写一个. 下面话不多说 ...

  8. 将字符串格式yyyy/MM/dd的字符串转为日期,格式“yyyy-MM-dd“

    将字符串格式yyyy/MM/dd的字符串转为日期,格式"yyyy-MM-dd" public static String strToDateFormat(String date) ...

  9. Excel怎么把数字样式日期转为标准日期格式

    今天跟大家分享一下Excel怎么把数字样式日期转为标准日期格式 1.打开Excel文件 2.选择要处理的单元格区域 3.点击下图选项(Excel工具箱,百度即可了解详细下载安装信息,本文这里就不做详细 ...

  10. python文本文件和二进制文件的区别_以文本格式和二进制格式打开文件,到底有什么区别?...

    以文本格式和二进制格式打开文件,到底有什么区别? 我们知道,open() 函数第二个参数是一个字符串,用于指定文件的打开方式,如果该字符串中出现 b,则表示以二进制格式打开文件:反之,则以普通的文本格 ...

最新文章

  1. boost::mpi模块threading::level operations
  2. Please provide an auth token with USYM_UPLOAD_AUTH_TOKEN environment Unity Mac 命令行出包报错
  3. excel 电阻并联计算_电路分析基础(5)-关于电阻,有些话我还是要说一说
  4. Java 发起http GET POST请求实例
  5. 《天天数学》连载33:二月二日
  6. python哪些系统可以运行_python可以检测它在哪个操作系统下运行吗?
  7. spring+struts2+mybatis
  8. python全栈之巅_Python 迭代器、生成器详解 - Python全栈之巅
  9. java基本变量的堆栈_JAVA经验谈:尽可能使用堆栈变量
  10. 主梁弹性模量计算_桥梁支座详解全攻略!图文+计算详解,值得收藏!
  11. 搭建Android的开发环境
  12. 2021最新电视盒子TV源码开源电视影视APP影视源码
  13. SGX软硬件栈(三)——驱动接口、SGX API
  14. 163邮箱给gmail邮箱发邮件,gmail邮箱收不到
  15. python项目:基于OpenCV的学生网课睡意检测系统
  16. SpringCloud Alibaba实战第九课 分布式事务理论、DevOps运维
  17. html5 足球比赛阵容图,HTML5/Velocity.js 3D足球阵容
  18. Hibernate的多种关系映射(oto、otm、mtm)
  19. 留数的相关概念及定理
  20. Linux--解决上cf慢的问题(通过修改hosts)

热门文章

  1. kuka机器人码垛编程网盘_KUKA机器人码垛程序怎么写(案例)
  2. 舞伴配对问题c语言实训报告,数据结构-舞伴配对实训.docx
  3. oracle19c特性以及CDB环境搭建
  4. php调用API支付接口 可个人使用,无需营业执照(使用第三方接口,调用的天工接口。)...
  5. 打包后的APK文件,微信发送给别人后面出现.apk.1无法安装
  6. 机器学习入门09 - 特征组合 (Feature Crosses)
  7. 批量建模:有序多分类Logistic回归(Ordinal Logistic Regression)
  8. Windows下打包安装程序
  9. 数字视频编解码基础知识大全
  10. 获取 rabbitmq 实时数据