|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
问个BMP图像和液晶模块的问题。 |
作者:hexinkang 栏目:ARM技术 |
当bmp是真彩色16位时,也就是RGB格式。里面的格式有两种。 一种是RGB各占5位,最高位用0填充。 一种是(根据我的液晶模块,就是Smart2200佩带的)是G占六位,其它5位 如果是按第一种格式存储的bmp文件,如果一个像素是 0111 1111 1111 1111 其中r=11111,g=11111,b=11111; 怎样转换为第二种格式呢? 高手指点。 |
2楼: | >>参与讨论 |
作者: hexinkang 于 2006/3/12 15:45:00 发布:
自己搞定了,呵呵 uint16 dat,b,c; b=dat & 0xFFE0; //dat存放已有数据(0rrr rrgg gggb BBBB形式) b=b<<1; c=dat & 0x003F; dat=b+c; //转换成(rrrr rggg gggb BBBB形式) 原理很简单,就是保持低五位不变,即b颜色不变;r g颜色向左一一位后第6位数跟原来的第六位数相与,之后加上b颜色。 ^_^ 试了一下,蛮爽。 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |