zoukankan      html  css  js  c++  java
  • RGB

    一,介绍

    RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,

    RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。

    二,常用RGB格式

    ①调色板类型的RGB格式

    包括RGB1,RGB4,RGB8,分别能表示2^n种颜色

    ②RGB16

    RGB565 : 

    高字节 低字节
    R R R R R G G G G G G B B B B B
    可以组合使用屏蔽字和移位操作来得到RGB各分量的值:
    #define RGB565_MASK_RED 0xF800
    #define RGB565_MASK_GREEN 0x07E0
    #define RGB565_MASK_BLUE 0x001F
    R = (wPixel & RGB565_MASK_RED) >> 11; // 取值范围0-31
    G = (wPixel & RGB565_MASK_GREEN) >> 5; // 取值范围0-63
    B = wPixel & RGB565_MASK_BLUE; // 取值范围0-31
     
    RGB555 : 
     
    高字节 低字节
    X R R R R R G G G G G B B B B B (X表示不用,可以忽略)
    可以组合使用屏蔽字和移位操作来得到RGB各分量的值:
    #define RGB555_MASK_RED 0x7C00
    #define RGB555_MASK_GREEN 0x03E0
    #define RGB555_MASK_BLUE 0x001F
    R = (wPixel & RGB555_MASK_RED) >> 10; // 取值范围0-31
    G = (wPixel & RGB555_MASK_GREEN) >> 5; // 取值范围0-31
    B = wPixel & RGB555_MASK_BLUE; // 取值范围0-31

    ③RGB24

    typedef struct tagRGBTRIPLE {
    BYTE rgbtBlue; // 蓝色分量
    BYTE rgbtGreen; // 绿色分量
    BYTE rgbtRed; // 红色分量
    } RGBTRIPLE;
    #define RGB(r,g,b) (unsigned int)( (r|0x08 << 11) | (g|0x08 << 6) | b|0x08 )  转RGB565
    #define RGB(r,g,b) (unsigned int)( (r|0x08 << 10) | (g|0x08 << 5) | b|0x08 )  转RGB555
     
    ④RGB32
     
    typedef struct tagRGBQUAD {
    BYTE rgbBlue; // 蓝色分量
    BYTE rgbGreen; // 绿色分量
    BYTE rgbRed; // 红色分量
    BYTE rgbReserved; // 保留字节(用作Alpha通道或忽略)
    } RGBQUAD。
  • 相关阅读:
    第11组 团队Git现场编程实战
    团队项目-需求分析报告
    团队项目-选题报告
    第二次结对编程作业
    第11组 团队展示
    第一次结对编程作业
    第一次个人编程作业
    第一次博客作业
    JavaScript学习笔记----Window对象
    自学前端开发:模拟Array功能 不是扩展子类
  • 原文地址:https://www.cnblogs.com/chencesc/p/4754591.html
Copyright © 2011-2022 走看看