您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> RGB888转565问题
本帖共有432个阅读者
发表帖子 发表投票 回复主题
RGB888转565问题
笑太狼(论坛新手)
笑太狼
头衔:社区公民
帮派:无帮无派
帖数:17
金钱:250
积分:24
注册时间:2013/1/21
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
RGB888转565问题
在BF533的RGB888转565时,到底是怎么样取RGB888的高地位给565,过程是怎样的?怎么有两个G?


void RGB888_RGB565(unsigned char *src, int src_len, unsigned char *dst)
{
    int i = 0;
    int j = 0;
    
    if (src_len % 3 != 0)
    {
        return;
    }
    for (i = 0; i < src_len; i += 3)
    {
        dst[j] = src[i] >> 3; // B
        dst[j] |= ((src[i+1] & 0x07) << 5); // G
        dst[j+1] = src[i+2] & 0xF8; // R
        dst[j+1] |= (src[i+1] >> 5); // G
        j += 2;
    }
}

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2014/2/21 18:58:03
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
RGB565数据格式为 :RRRRRGGG GGGBBBBB。
G分别位于2个字节,所以提取的时候,要提取2次送到两个字节中。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2014/2/22 11:19:28
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159158 Call, 1 Queries, Processed in 0.015625 second(s),