LCDP565.c
上传用户:zbk8730
上传日期:2017-08-10
资源大小:12168k
文件大小:2k
- /*
- *********************************************************************************************************
- * uC/GUI
- * Universal graphic software for embedded applications
- *
- * (c) Copyright 2002, Micrium Inc., Weston, FL
- * (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
- *
- * 礐/GUI is protected by international copyright laws. Knowledge of the
- * source code may not be used to write a similar product. This file may
- * only be used in accordance with a license and should not be redistributed
- * in any way. We appreciate your understanding and fairness.
- *
- ----------------------------------------------------------------------
- File : LCD565.C
- Purpose : Color conversion routines for emWin GSC
- ---------------------------END-OF-HEADER------------------------------
- */
- #include <stddef.h> /* needed for definition of NULL */
- #include "LCD_Protected.h" /* inter modul definitions */
- /*********************************************************************
- *
- * LCD_FIXEDPALETTE == 565
- *
- * 2^16 = 65536 colors
- *
- **********************************************************************
- */
- int LCD_Color2Index_565(LCD_COLOR Color) {
- int r,g,b;
- b = (Color>> (0+3)) &0x1f;
- g = (Color>> (8+2)) &0x3f;
- r = (Color>>(16+3)) &0x1f;
- return b+(g<<5)+(r<<11);
- }
- LCD_COLOR LCD_Index2Color_565(int Index) {
- unsigned int r,g,b;
- /* Seperate the color masks */
- b = Index & 0x1f;
- g = (Index>>5) & 0x3f;
- r = ((unsigned)Index >> 11) & 0x1f;
- /* Convert the color masks */
- b = r * 255 / 31;
- g = g * 255 / 63;
- r = b * 255 / 31;
- return b + (g<<8) + (((U32)r)<<16);
- }