【IoT】 产品研发:位深为1的BMP格式图片详解
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格式图片详解相关推荐
- android 将bitmap存为 bmp格式图片大小,把bitmap保存成 BMP的格式 并且位深度为1
生成图片的要求:图像格式采用单色位图文件格式(BMP) 要求bmp的位深度为1 参考: 代码有点小瑕疵 : bitmap的图片宽度要求是:8的整数倍 /** * 将Bitmap存为 .bmp格式图片 ...
- 【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一
相关链接 [2023年第十一届泰迪杯数据挖掘挑战赛]B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一 [2023年第十一届泰迪杯数据挖掘挑战赛]B题:产品订单的数据分析与需求预测 ...
- 【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题二
相关链接 [2023年第十一届泰迪杯数据挖掘挑战赛]B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一 [2023年第十一届泰迪杯数据挖掘挑战赛]B题:产品订单的数据分析与需求预测 ...
- C++:将六个tif分色片写成bmp格式图片(8位深)
#include <cv.h> #include <highgui.h> #include <iostream> //#include <windows.h& ...
- 纯C++实现24位bmp格式图片的读取和修饰
问题:现有一张bmp图片,要求将它读取到程序中并进行灰度化.水平翻转.模糊.茶色滤镜四种效果的一种,并输出新图片,如下所示: 命令行输入: 其中: 参数1:-b/g/s/r,先后表示blur(模糊), ...
- mysql 8.064位安装_windows64位下MySQL8.0.15安装教程图文详解
先去官网下载点击的MySQL的下载 下载完成后解压 解压完是这个样子 配置系统环境变量 复制解压后的mysql到C盘或者其他磁盘下 我们去系统的环境变量的path里添加一个mysql的配置 指向my ...
- mysql 从第几位开始截取_mysql的截取函数用法详解
原标题:mysql的截取函数用法详解 substring()函数 测试数据准备: 用法: 以下语法是mysql自动提示的 1:substirng(str,pos):从指定位置开始截取一直到数据完成 s ...
- 【IoT】 产品设计:硬件产品设计流程ID与MD设计详解(二)
1.ID.MD设计是产品设计流程中的两大块内容 1)ID设计 ID草绘.ID外形图.ID外形图 2)md设计 3D建模.资料核对.绘制一个基本形状..初步拆画零部件 2.启动ID设计 产品的设计过程是 ...
- 【IoT】 产品设计:机牙和自攻牙螺丝详解
最近在做产品化的过程中,卫 Sir 在选型螺丝的最开始没有机压和自攻牙螺丝的概念,结果就闹笑话了,下面简要介绍一下这两种螺丝的区别. 左边为:机械牙.右边为:自攻牙 1.机牙螺丝 机牙又被称为机械牙, ...
- 【IoT】产品设计:关于专利基础内容及专利分类详解
1.什么是发明专利 如果申请人提供的是一项全新的设计,或在现有产品的内部结构和功能方面有所改进或各构件间的连接结构的改进,或者是一种化工产品.***的配方,或上述化工产品或***的制作方法: 饮料或其 ...
最新文章
- ESP32串口转WiFi双天线ESP32-S模组
- ActiveMQ入门教程(三) - ActiveMQ P2P版的HelloWorld
- 【c++】27.事件驱动、IO复用、sellect、poll、epoll三者的区别
- 2021-05-19 Schur补引理及证明
- spark写mysql优化简书_spark——通过jdbc连接数据库中遇到的问题
- ORACLE开发:创建与管理表空间和数据文件1
- nodejs即时聊天
- python 随机排序_Python 如何随机打乱列表(List)排序
- 数据港:专业数据中心服务提供商
- 无需训练 RNN 或生成模型,如何编写一个快速且通用的 AI “讲故事”项目?
- [Web开发] 如何改变IE滚动条的颜色
- spring之jdbcTemplate的增删改查操作--不使用配置文件
- ExtFrame的特点与缺点
- android23是什么手机,目前 已有23款国产机可升Android8.0 你的手机厂商良心推送了没?...
- C语言打印杨辉三角(C笔记)
- 数电 3 逻辑门电路
- 大学计算机实践教程咖啡文化,北京大学图书馆学习共享空间.docx
- 用计算机完成下表的视距测量计算公式,中南大学工程测量计算题库及参考答案...
- 提高MySQL微信三公源码的7个技巧
- python画椭圆形_Python3 tkinter基础 Canvas create_rectangle 画虚边的矩形 create_oval 画椭圆形 圆形...