1、数据结构一

typedef struct tagBITMAPFILEHEADER {

WORD bfType; //类型名,字符串“BM”,

DWORD bfSize; //文件大小

WORD bfReserved1; //保留字

WORD bfReserved2; //保留字

DWORD bfOffBits; //实际位图数据的偏移字节数,即前三个部分长度之和

} BITMAPFILEHEADER;

对应数据:

WORD bfType : 0x4d42

DWORD bfSize:0x16cbe

WORD bfReserved1:0x0

WORD bfReserved2:0x0

DWORD bfOffBits:0x3e

2、数据结构二

typedef struct tagBITMAPINFOHEADER {

DWORD biSize; //指定此结构体的长度,0x28

LONG biWidth; //位图宽

LONG biHeight; //位图高.为正,表示从下往上存储,左下角是起点。为负,表示从上往下储存,左上角是起点

WORD biPlanes; //平面数,为1

WORD biBitCount //采用颜色位数,可以是1,2,4,8,16,24,32

DWORD biCompression; //压缩方式,可以是0,1,2,其中0表示不压缩

DWORD biSizeImage; //实际位图数据占用的字节数

LONG biXPelsPerMeter; //X方向分辨率

LONG biYPelsPerMeter; //Y方向分辨率

DWORD biClrUsed; //使用的颜色数,如果为0,则表示默认值(2^颜色位数)

DWORD biClrImportant; //重要颜色数,如果为0,则表示所有颜色都是重要的

} BITMAPINFOHEADER;

对应数据:

DWORD biSize:0x28

LONG biWidth:0x480

LONG biHeight:0x288

WORD biPlanes:0x1

WORD biBitCount:0x1

DWORD biCompression:0x0

DWORD biSizeImage:0x16c80

LONG biXPelsPerMeter:0x0

LONG biYPelsPerMeter:0x0

DWORD biClrUsed:0x0

DWORD biClrImportant:0x0

3、数据结构三

1位位图有调色板2^1=2个

对应是以下结构的数组:

typedef struct tagRGBQUAD {

BYTE rgbBlue; //蓝色

BYTE rgbGreen; //绿色

BYTE rgbRed; //红色

BYTE rgbReserved; //保留值,常用于Alpha透明值

} RGBQUAD;

索引0:(B,G,R,A)=(0x0,0x0,0x0,0x0)

索引1:(B,G,R,A)=(0xff,0xff,0xff,0x0)

两个索引占用8个字节,之后都是数据区,数据紧密排列,无对齐操作。

数据区操作方法:每次取一个字节,此字节的第7位到第0位是读取顺序。

refer:https://www.cnblogs.com/dalgleish/p/9569600.html

【IoT】 产品研发:位深为1的BMP格式图片详解相关推荐

  1. android 将bitmap存为 bmp格式图片大小,把bitmap保存成 BMP的格式 并且位深度为1

    生成图片的要求:图像格式采用单色位图文件格式(BMP)  要求bmp的位深度为1 参考: 代码有点小瑕疵 : bitmap的图片宽度要求是:8的整数倍 /** * 将Bitmap存为 .bmp格式图片 ...

  2. 【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一

    相关链接 [2023年第十一届泰迪杯数据挖掘挑战赛]B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一 [2023年第十一届泰迪杯数据挖掘挑战赛]B题:产品订单的数据分析与需求预测 ...

  3. 【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题二

    相关链接 [2023年第十一届泰迪杯数据挖掘挑战赛]B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一 [2023年第十一届泰迪杯数据挖掘挑战赛]B题:产品订单的数据分析与需求预测 ...

  4. C++:将六个tif分色片写成bmp格式图片(8位深)

    #include <cv.h> #include <highgui.h> #include <iostream> //#include <windows.h& ...

  5. 纯C++实现24位bmp格式图片的读取和修饰

    问题:现有一张bmp图片,要求将它读取到程序中并进行灰度化.水平翻转.模糊.茶色滤镜四种效果的一种,并输出新图片,如下所示: 命令行输入: 其中: 参数1:-b/g/s/r,先后表示blur(模糊), ...

  6. mysql 8.064位安装_windows64位下MySQL8.0.15安装教程图文详解

    先去官网下载点击的MySQL的下载 下载完成后解压 解压完是这个样子 配置系统环境变量 复制解压后的mysql到C盘或者其他磁盘下 我们去系统的环境变量的path里添加一个mysql的配置  指向my ...

  7. mysql 从第几位开始截取_mysql的截取函数用法详解

    原标题:mysql的截取函数用法详解 substring()函数 测试数据准备: 用法: 以下语法是mysql自动提示的 1:substirng(str,pos):从指定位置开始截取一直到数据完成 s ...

  8. 【IoT】 产品设计:硬件产品设计流程ID与MD设计详解(二)

    1.ID.MD设计是产品设计流程中的两大块内容 1)ID设计 ID草绘.ID外形图.ID外形图 2)md设计 3D建模.资料核对.绘制一个基本形状..初步拆画零部件 2.启动ID设计 产品的设计过程是 ...

  9. 【IoT】 产品设计:机牙和自攻牙螺丝详解

    最近在做产品化的过程中,卫 Sir 在选型螺丝的最开始没有机压和自攻牙螺丝的概念,结果就闹笑话了,下面简要介绍一下这两种螺丝的区别. 左边为:机械牙.右边为:自攻牙 1.机牙螺丝 机牙又被称为机械牙, ...

  10. 【IoT】产品设计:关于专利基础内容及专利分类详解

    1.什么是发明专利 如果申请人提供的是一项全新的设计,或在现有产品的内部结构和功能方面有所改进或各构件间的连接结构的改进,或者是一种化工产品.***的配方,或上述化工产品或***的制作方法: 饮料或其 ...

最新文章

  1. docker 无法正常启动 解决方法
  2. STP生成树的选举详细步骤、四个案列详解(附图,建议电脑观看)
  3. python---内置模块
  4. adalm pluto_Apache Pluto Portlet&Struts 2集成示例教程
  5. Redis(十五)Redis 的一些常用技术(Spring 环境下)
  6. 使用robo3t操作mongodb以及文档的插入、更新、删除以及查询操作
  7. Proxy(代理)服务器
  8. DataSource 详解
  9. Oracle数据库闪回
  10. 2021年高处安装、维护、拆除证考试及高处安装、维护、拆除复审模拟考试
  11. CAT1模块EC200S 4G物联网模块串口透传MQTT协议 快速入门指导资料
  12. 2021-7-19-OpenStack基础知识学习
  13. python完美测试数据之faker!
  14. JAVA集合和字符串互转
  15. 手把手教你搭建gitlab服务器
  16. 4个基本不等式的公式高中_不等式链(高中4个基本不等式链推导)
  17. 持续交付的发展与持续交付中的测试
  18. 「大哉数学之为用」优选法——梯级水库灌溉的优化设计
  19. 调用Python时出现Exception ignored in: module 'threading' from 'xxx:\\Anaconda3\\Lib\\threading.py'
  20. android preference 启动activity,Android PreferenceActivity 学习笔记

热门文章

  1. 基于umijs+lerna+qiankun的微前端实现
  2. Maxthon2.5.10.2576 beta苦菜花增强优化防假死正式版(1031)
  3. UTF-8转GBK(GBK转UTF-8)
  4. 微信小程序人脸识别认证-微信开放接口
  5. 输入一个三位数,再反向输出
  6. python中eof什么意思_python eof表什么意思
  7. 基于ATmega128单片机的LCD12864显示密码锁
  8. 多种视觉SLAM方案对比
  9. hadoop视频教程下载链接汇总
  10. C51单片机流水灯C代码