社区
C#
帖子详情
C#如何读取16位的bitmap文件
花海_
2018-11-24 10:51:49
我存了约600万个16位的short类型数字到一个位深度16位的bitmap里面,并保存到本地。现在我需要读取这个bitmap文件,还原我之前存的这些short类型的数字。但是读取进来的bitmap总是被改成了32位的(Format32bppArgb)。请问,如何能够读取16位的bitmap文件?或者有没有更好的办法能够满足我上述需求?非常感谢!
图1为存到本地之后的bmp文件,里面的位深度是16;图2为读取bmp文件之后的PixelFormat = Format32bppArgb,被修改了。
...全文
996
3
打赏
收藏
C#如何读取16位的bitmap文件
我存了约600万个16位的short类型数字到一个位深度16位的bitmap里面,并保存到本地。现在我需要读取这个bitmap文件,还原我之前存的这些short类型的数字。但是读取进来的bitmap总是被改成了32位的(Format32bppArgb)。请问,如何能够读取16位的bitmap文件?或者有没有更好的办法能够满足我上述需求?非常感谢! 图1为存到本地之后的bmp文件,里面的位深度是16;图2为读取bmp文件之后的PixelFormat = Format32bppArgb,被修改了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
PixelDemon
2018-11-27
打赏
举报
回复
GDIP本身支持的16位格式有限,就只有楼上那几种,如果不是那几种(头文件里的几个相应的mask设置值决定的),C#是不认的,你如果纯粹是要数据,考虑到16位BMP格式是没有压缩的,可以直接读文件,当然你要注意文件头里的高度值是不是负值了。
xuzuning
2018-11-24
打赏
举报
回复
原则上是怎么写的,就怎么读
因为不知道你是如何写的,所以只能泛泛的说如何读
如果真是 Bitmap 那么 PixelFormat 不外是:
Format16bppRgb555
Format16bppRgb565
Format16bppArgb1555
Format16bppGrayScale
之一
可用 BitmapData 锁定读取
用 Marshal.Copy 一次性读取到 Int16[] 数组中(内存法)
考虑到 600万数据不会一次性用到
可以通过二进制读(BinaryReader)分批读取,以减少内存开销
为减少文件 I/O 的开销,还可以使用内存映射文件(MemoryMappedFile)方式操作
注意:对于 BMP 文件,需跳过前面的 52 字节的头
threenewbee
2018-11-24
打赏
举报
回复
16bit,每个颜色5bit https://blog.csdn.net/mfcing/article/details/7451670
Webp格式与
Bitmap
格式(JPG、PNG、Bmp等)互转
C#
Demo
可直接运行,支持x86和x64,包含完整代码及引用dll
C#
读取
dcm医学图像,格式转换为bmp图像的demo
导师接了校医院的项目,涉及到dcm医学图像的显示和存储问题。 demo实现 将本地的dcm图像转存为bmp图像 使用时 需要导入dicom包,只需修改dcm 路径即可。
android开发从入门到项目
异步任务机制(AsyncTask、Handler、线程池) 布局优化(层级、绘制、碎片化处理) 图片加载(
Bitmap
、缓冲区) 3、项目的管理 git工具的使用 4、做项目,通过项目来提升自己 第一个项目【计算器】 5、做项目,第二...
C#
实现
读取
图片像素并生成HTML
文件
小弟刚开始学习
C#
,各位见笑了。 一个
C#
程序,上传一张小图片,
读取
图片,根据图片的像素做个程序。要求根据图片像素点阵列生成html
文件
,每个单元格的颜色要与像素点一一对应。
位图
文件
读取
、修改、保存
适合初学数字图像处理的朋友们。 介绍了位图的打开、简单修改和保存的过程。
C#
110,561
社区成员
642,566
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章