BMP数据转换为RGB565
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.
2010-03-09
TFT屏的显示缓存能直接显示RGB565的数据,所以BMP要转换成RGB565.
24位BMP结构包括文件头,信息头,位图数据。首先读取文件头,信息头,然后读取位图数据。假设读取的是320 × 240大小的24位位图数据,转换成的RGB565的数据保存在数组
U16 BUFFER_BMP[320 * 240]中。读取的三位色彩量RED,BLUE,GREEN。
代码:
*BUFFER_BMP = 0X0000;
*BUFFER_BMP |= RED << 8;
*BUFFER_BMP |= GREEN << 3;
*BUFFER_BMP |= BLUE >> 3;
BUFFER_BMP++;
同理RGB565数据也可以转换为BMP格式
代码:
/*
功能:RGB565转换为BMP
说明:只能转换320*240大小图片,转化为24位图
作者:JDH
*/
void RGB565_TO_BMP(U16 RGB565[240][320],U8 *BMP)
{
//BMP信息头
U8 HEADER[] =
{
66,77,54,132,3,0,0,0,0,0,54,0,0,0,40,0,
0,0,64,1,0,0,240,0,0,0,1,0,24,0,0,0,
0,0,0,132,3,0,35,46,0,0,35,46,0,0,0,0,
0,0,0,0,0,0
};
U32 i = 0;
U8 RED,BLUE,GREEN;
U16 COLOR;
//BMP信息头定义
for (i = 0;i < 0X36;i++)
{
*BMP++ = *(HEADER + i);
}
//色彩写入
for (i = 0;i < 76800;i++)
{
COLOR = *(*(RGB565 + i / 320) + i % 320);
RED = ((COLOR >> 8)) & 0xF8 + 3;
BLUE = ((COLOR >> 3) & 0xFC) + 1;
GREEN = ((COLOR << 3) & 0xF8) + 3;
*BMP++ = BLUE;
*BMP++ = GREEN;
*BMP++ = RED;
}
}
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
BMP数据转换为RGB565相关推荐
- 24位深的bmp图片转换为16位深RGB565格式的bmp图片源码
/**24位深的bmp图片转换为16位深RGB565格式的bmp图片**/ #include <iostream> #include <stdio.h> #include &l ...
- JAVA C# Zxing生成的二维码数据转换为1bit的bmp下发到点阵终端。QRCode去白边,以bmp格式字节流发送,BMP图片解析
BMP图像文件完全解析 - 知乎 注意: 小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中.越向后地址越高,比如00 01 02,02的地址是2,是高. BMP文 ...
- 使用C++实现多张BMP图片转换为YUV动画----附加淡入淡出转场(逐渐变明变暗),及垂直滑像转场(逐行渐变)
使用C++实现多张BMP图片转换为YUV动画----附加淡入淡出转场(逐渐变明变暗),及垂直滑像转场(逐行渐变) 一.BMP图像简介 1.BMP图像是什么? 2.BMP图像文件结构 1)图象文件头 2 ...
- YUV数据转换为图片JPG格式并且存储到本地
1.YUV数据转换为图片JPG格式并且存储到本地 private void saveYUV2Bitmap() {ByteArrayOutputStream stream = null;try {Yuv ...
- 如何将读取到内存中的BMP图片转换为IplImage
如果已经将BMP图片读取到内存中(带图像头信息),要将BMP内存数据转换为IplImage进行处理的话可以使用如下函数 IplImage* GetIplFromBmp(BYTE *pBmp) {BYT ...
- R语言Box-Cox变换实战(Box-Cox Transformation):将非正态分布数据转换为正态分布数据、计算最佳λ、变换后构建模型
R语言Box-Cox变换实战(Box-Cox Transformation):将非正态分布数据转换为正态分布数据.计算最佳λ.变换后构建模型 目录
- xml转换为mysql_如何将存储在XML文件中的数据转换为关系数据库(MySQL)?
我有一些 XML文件包含研究项目的数据,我需要运行一些统计数据.数据量接近100GB. 结构不是那么复杂(可能映射到关系模型中的10个表),并且考虑到问题的性质,这些数据永远不会再次更新,我只需要在易 ...
- Gson转换 — json数据转换为Object实体公共方法
Gson转换 - json数据转换为Object实体 最近在做远程接口调用时,需要对数据进行加解密,因此返回的参数统一为以下json格式 {"code":0,"msg&q ...
- Intel Realsense D435 python (Python Wrapper)example00: NumPy Integration 将深度帧数据转换为 Numpy 数组进行处理
NumPy Integration: Librealsense frames support the buffer protocol. A numpy array can be constructed ...
最新文章
- 【蓝桥java】进制与整除之尼姆堆
- Qt调用MATLAB
- 声称代码会开源却迟迟没更新!网友等了好几个月,最终一怒之下把作者挂网上......
- Emgu-WPF学习使用-识别二维码的位置
- boost::geometry::detail::get_turns用法的测试程序
- 学习:多项式算法----FFT
- ceph存储原理_赠书 | Linux 开源存储全栈详解——从Ceph到容器存储
- python垃圾回收 采用方式_python-面向对象-10-__del__析构方法/垃圾回收机制
- 等待读取完毕 java_java – 等待来自客户端读取消息的套接字服务器
- 每天进步一点点《ML - K-means》
- javascript基础系列:字符串的常用方法
- python 特殊字符作为分割行 调整非时间开头格式
- Spring源码全解
- 数据结构课程设计:基于有序表的仓库管理系统
- mysql 拼音首字母_MySQL拼音首字母查询
- 图像相似度对比分析软件,简单图像相似度对比图
- 201621123062《java程序设计》第11周作业总结
- 从现在开始探索工业元宇宙讲座发言稿 34500字
- 开源的网络服务框架:Apache Etch 1.4.0 发布
- Wi-Fi理论基础概述