本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.

作者: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相关推荐

  1. 24位深的bmp图片转换为16位深RGB565格式的bmp图片源码

    /**24位深的bmp图片转换为16位深RGB565格式的bmp图片**/ #include <iostream> #include <stdio.h> #include &l ...

  2. JAVA C# Zxing生成的二维码数据转换为1bit的bmp下发到点阵终端。QRCode去白边,以bmp格式字节流发送,BMP图片解析

    BMP图像文件完全解析 - 知乎 注意: 小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中.越向后地址越高,比如00  01  02,02的地址是2,是高. BMP文 ...

  3. 使用C++实现多张BMP图片转换为YUV动画----附加淡入淡出转场(逐渐变明变暗),及垂直滑像转场(逐行渐变)

    使用C++实现多张BMP图片转换为YUV动画----附加淡入淡出转场(逐渐变明变暗),及垂直滑像转场(逐行渐变) 一.BMP图像简介 1.BMP图像是什么? 2.BMP图像文件结构 1)图象文件头 2 ...

  4. YUV数据转换为图片JPG格式并且存储到本地

    1.YUV数据转换为图片JPG格式并且存储到本地 private void saveYUV2Bitmap() {ByteArrayOutputStream stream = null;try {Yuv ...

  5. 如何将读取到内存中的BMP图片转换为IplImage

    如果已经将BMP图片读取到内存中(带图像头信息),要将BMP内存数据转换为IplImage进行处理的话可以使用如下函数 IplImage* GetIplFromBmp(BYTE *pBmp) {BYT ...

  6. R语言Box-Cox变换实战(Box-Cox Transformation):将非正态分布数据转换为正态分布数据、计算最佳λ、变换后构建模型

    R语言Box-Cox变换实战(Box-Cox Transformation):将非正态分布数据转换为正态分布数据.计算最佳λ.变换后构建模型 目录

  7. xml转换为mysql_如何将存储在XML文件中的数据转换为关系数据库(MySQL)?

    我有一些 XML文件包含研究项目的数据,我需要运行一些统计数据.数据量接近100GB. 结构不是那么复杂(可能映射到关系模型中的10个表),并且考虑到问题的性质,这些数据永远不会再次更新,我只需要在易 ...

  8. Gson转换 — json数据转换为Object实体公共方法

    Gson转换 - json数据转换为Object实体 最近在做远程接口调用时,需要对数据进行加解密,因此返回的参数统一为以下json格式 {"code":0,"msg&q ...

  9. Intel Realsense D435 python (Python Wrapper)example00: NumPy Integration 将深度帧数据转换为 Numpy 数组进行处理

    NumPy Integration: Librealsense frames support the buffer protocol. A numpy array can be constructed ...

最新文章

  1. 【蓝桥java】进制与整除之尼姆堆
  2. Qt调用MATLAB
  3. 声称代码会开源却迟迟没更新!网友等了好几个月,最终一怒之下把作者挂网上......
  4. Emgu-WPF学习使用-识别二维码的位置
  5. boost::geometry::detail::get_turns用法的测试程序
  6. 学习:多项式算法----FFT
  7. ceph存储原理_赠书 | Linux 开源存储全栈详解——从Ceph到容器存储
  8. python垃圾回收 采用方式_python-面向对象-10-__del__析构方法/垃圾回收机制
  9. 等待读取完毕 java_java – 等待来自客户端读取消息的套接字服务器
  10. 每天进步一点点《ML - K-means》
  11. javascript基础系列:字符串的常用方法
  12. python 特殊字符作为分割行 调整非时间开头格式
  13. Spring源码全解
  14. 数据结构课程设计:基于有序表的仓库管理系统
  15. mysql 拼音首字母_MySQL拼音首字母查询
  16. 图像相似度对比分析软件,简单图像相似度对比图
  17. 201621123062《java程序设计》第11周作业总结
  18. 从现在开始探索工业元宇宙讲座发言稿 34500字
  19. 开源的网络服务框架:Apache Etch 1.4.0 发布
  20. Wi-Fi理论基础概述

热门文章

  1. IMG Series4 NNA实现高效推理
  2. 无锁CAS及无锁队列实现
  3. PostgreSQL:四. 数据表的基本操作
  4. Python爬取4500个景点:用echarts热力图分析国庆哪里最堵?
  5. 干货!Lazada使用支付宝收款常见问题解答
  6. 域名已被抢注?批量查询来看看
  7. 安卓短信加密_【安卓用户】通讯录同步助手使用教程
  8. 验证身份证号是否合法
  9. 剑指 Offer 35. 复杂链表的复制
  10. java P1506 拯救oibh总部