博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RGB555转RGB565
阅读量:4958 次
发布时间:2019-06-12

本文共 670 字,大约阅读时间需要 2 分钟。

     做tft彩屏显示图片的时候,显示16位位图,显示屏的显示模式为RGB565。使用img2lcd转换后的16位bmp,显示出来后,颜色有偏差;转换为565格式的bin文件,显示完全正常,可以确定转换为bmp后,格式为RGB555。网上查找相关资料显示,Windows 图片查看器显示正常的图片,均为RGB555格式,系统自带画图画图工具保存时,不支持将文件保存为16位位图格式。

  以下为555转565的程序片段,转换后的结果和使用img2lcd软件保存为565格式的结果完全相同。转换的结果其实就是将原来5位G扩展为6位。即左移1为,然后右边补0。这样转换后,和img2lcd软件转换的结果对比,发现有一部分数据不一致。原来移位后,img2lcd软件在右边不是全都补0,而是看原来G中的最后1位若为1,则补1,若为0,则补0,程序中最后加入一句判断,这样转换后,就完全一致了。

char c1=0x6b,c2=0x7b;              // 0rrr rrgg(c1) gggb bbbb(c2)         RGB555   

char c3,c4;                       
c3= c1<<1;
c3|= c2>>7;

c4 = c2<<1;

c4&= 0xc0;
c4|= c2&0x1f;
if(c2&0x20) c4+=0x20;

uint16_t color = (c3<<8) | c4;    // rrrr rggg(c3) gggb bbbb(c4)          RGB565

转载于:https://www.cnblogs.com/King-Gentleman/p/5925109.html

你可能感兴趣的文章
linux--多进程进行文件拷贝
查看>>
笔记:git基本操作
查看>>
Gold Smith第一章
查看>>
生成php所需要的APNS Service pem证书的步骤
查看>>
JavaWeb之JSON
查看>>
URL中的特殊字符处理
查看>>
HOT SUMMER 每天都是不一样,积极的去感受生活 C#关闭IE相应的窗口 .
查看>>
windows平台上编译mongdb-cxx-driver
查看>>
optionMenu-普通菜单使用
查看>>
MVC3分页传2参
查看>>
2016-2017-2点集拓扑作业[本科生上课时]讲解视频
查看>>
appium(13)- server config
查看>>
IIS负载均衡-Application Request Route详解第六篇:使用失败请求跟踪规则来诊断ARR...
查看>>
管理信息系统 第三部分 作业
查看>>
[Leetcode Week13]Search a 2D Matrix
查看>>
通过被调函数改变主调函数的值
查看>>
java 对象的序列化与反序列化
查看>>
二叉树、树、森林
查看>>
查看端口占用cmd命令
查看>>
2019.01.17王苛震作业
查看>>