亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gui_bmp_serialize.c

?? UC_GUI開發(fā)源代碼,里面含有范例,源文件
?? C
字號:
/*
*********************************************************************************************************
*                                             uC/GUI V3.98
*                        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        : GUI_BMP_Serialize.c
Purpose     : Implementation of GUI_BMP_Serialize
---------------------------END-OF-HEADER------------------------------
*/

#include "GUI.h"

/*********************************************************************
*
*       Defines
*
**********************************************************************
*/

#define DIB_HEADER_MARKER ((U16) ('M' << 8) | 'B') /* DIB Header Marker - used in writing DIBs to files */

#define SIZEOF_BITMAPFILEHEADER 14
#define SIZEOF_BITMAPINFOHEADER 40

/*********************************************************************
*
*       Static code
*
**********************************************************************
*/
/*********************************************************************
*
*       _SendU16
*/
static void _SendU16(GUI_CALLBACK_VOID_U8_P * pfSerialize, U16 Data, void * p) {
  (*pfSerialize)((U8)Data, p);
  (*pfSerialize)(Data >> 8, p);
}

/*********************************************************************
*
*       _SendU32
*/
static void _SendU32(GUI_CALLBACK_VOID_U8_P * pfSerialize, U32 Data, void * p) {
  _SendU16(pfSerialize, (U16)Data, p);
  _SendU16(pfSerialize, Data >> 16, p);
}

/*********************************************************************
*
*       Exported routines
*
**********************************************************************
*/
/*********************************************************************
*
*       GUI_BMP_SerializeEx
*/
void GUI_BMP_SerializeEx(GUI_CALLBACK_VOID_U8_P * pfSerialize, int x0, int y0, int xSize, int ySize, void * p) {
  int x, y, i, BPP, BytesPerLine, NumColors, Padding;
  U32 BitmapOffset, FileSize;
  GUI_LOCK();
  BPP          = LCD_GetBitsPerPixel();
  BytesPerLine = ((BPP > 8) ? (2 * xSize + 2) : (xSize + 3)) & ~3;
  NumColors    = (BPP > 8) ? 0 : (1 << BPP);
  Padding      = BytesPerLine - ((BPP > 8) ? (2 * xSize) : xSize);
  /* Write BITMAPFILEHEADER */
  BitmapOffset   = SIZEOF_BITMAPFILEHEADER
                 + SIZEOF_BITMAPINFOHEADER
                 + NumColors * 4;
  FileSize       = BitmapOffset
                 + ySize * BytesPerLine;
  _SendU16(pfSerialize, DIB_HEADER_MARKER, p);       /* bfType */
  _SendU32(pfSerialize, FileSize, p);                /* bfSize */
  _SendU32(pfSerialize, 0, p);                       /* bfReserved1, bfReserved2 */
  _SendU32(pfSerialize, BitmapOffset, p);            /* bfOffBits */
  /* Write BITMAPINFOHEADER */
  _SendU32(pfSerialize, SIZEOF_BITMAPINFOHEADER, p); /* biSize */
  _SendU32(pfSerialize, xSize, p);                   /* biWidth */
  _SendU32(pfSerialize, ySize, p);                   /* biHeighth */
  _SendU16(pfSerialize, 1, p);                       /* biPlanes */
  _SendU16(pfSerialize, (BPP  <= 8) ? 8 : 16, p);    /* biBitCount */
  _SendU32(pfSerialize, 0, p);                       /* biCompression */
  _SendU32(pfSerialize, 0, p);                       /* biSizeImage */
  _SendU32(pfSerialize, 0, p);                       /* biXPelsPerMeter */
  _SendU32(pfSerialize, 0, p);                       /* biYPelsPerMeter */
  _SendU32(pfSerialize, NumColors, p);               /* biClrUsed */
  _SendU32(pfSerialize, 0, p);                       /* biClrImportant */
  /* Write palette */
  for (i = 0; i < NumColors; i++) {
    U32 Color;
    Color = GUI_Index2Color(i);
    Color = ((Color >> 16) & 255) | (Color & 0xff00) | ((Color & 0xff) << 16);
    _SendU32(pfSerialize, Color, p);
  }
  /* Write pixels */
  for (y = ySize - 1; y >= 0; y--) {
    for (x = 0; x < xSize; x++) {
      if (BPP <= 8) {
        pfSerialize(LCD_GetPixelIndex(x0 + x, y0 + y), p);
      } else {
        U16 Color16;
        U32 Color = LCD_GetPixelColor(x0 + x, y0 + y);
        int b = ((Color >> 16) * 31 + 127) / 255;
        int g = (((Color >> 8) & 255) * 31 + 127) / 255;
        int r = ((Color & 255) * 31 + 127) / 255;
        Color16 = (r << 10) | (g << 5) | b;       /* 16 bpp Bitmaps in windows are 555: rrrrrgggggbbbbb */
        _SendU16(pfSerialize, Color16, p);
      }
    }
    /* Align pointer to next U32 */
    for (i = 0; i < Padding; i++) {
      pfSerialize(0, p);
    }
  }
  GUI_UNLOCK();
}

/*********************************************************************
*
*       GUI_BMP_Serialize
*/
void GUI_BMP_Serialize(GUI_CALLBACK_VOID_U8_P * pfSerialize, void * p) {
  GUI_BMP_SerializeEx(pfSerialize, 0, 0, LCD_GetXSize(), LCD_GetYSize(), p);
}

/*************************** End of file ****************************/
	 	 			 		    	 				 	  			   	 	 	 	 	 	  	  	      	   		 	 	 		  		  	 		 	  	  			     			       	   	 			  		    	 	     	 				  	 					 	 			   	  	  			 				 		 	 	 			     			 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产三级国产普通话99 | 日韩一区国产二区欧美三区| 亚洲人成伊人成综合网小说| 91在线观看下载| 亚洲欧洲在线观看av| 在线视频综合导航| 亚洲成av人在线观看| 日韩一区二区三区在线| 国产一区欧美一区| 亚洲欧美自拍偷拍色图| 91行情网站电视在线观看高清版| 五月婷婷激情综合| 精品国产伦一区二区三区观看方式| 国产99久久久久久免费看农村| 136国产福利精品导航| 欧美三级蜜桃2在线观看| 激情小说欧美图片| 自拍偷拍欧美激情| 制服丝袜亚洲网站| youjizz久久| 日韩高清一级片| 国产婷婷色一区二区三区四区 | 成人综合婷婷国产精品久久蜜臀 | 欧美日韩一级片在线观看| 蜜臂av日日欢夜夜爽一区| 中文一区在线播放| 欧美日韩亚洲综合在线| 国产精品99久| 亚洲高清在线视频| 国产欧美一二三区| 在线播放视频一区| 不卡电影免费在线播放一区| 日本欧美一区二区| 日韩理论片网站| 精品成人一区二区三区四区| 色综合久久中文字幕| 精品一区二区三区视频| 亚洲夂夂婷婷色拍ww47| 久久先锋影音av鲁色资源网| 欧美视频在线一区二区三区| 国产成人综合精品三级| 成人h动漫精品一区二区| 另类综合日韩欧美亚洲| 亚洲一区二区三区四区在线免费观看 | 粉嫩av亚洲一区二区图片| 亚洲gay无套男同| 国产精品每日更新| 久久久久久亚洲综合影院红桃 | 国产成人av电影在线观看| 日本怡春院一区二区| 亚洲欧美视频一区| 国产日韩一级二级三级| 日韩精品一区国产麻豆| 欧美日韩精品福利| 在线视频你懂得一区| 成人在线综合网站| 国产美女在线观看一区| 免费观看在线色综合| 亚洲国产成人高清精品| 亚洲三级免费电影| 中文字幕不卡的av| 国产日韩一级二级三级| 久久综合av免费| xfplay精品久久| 精品久久久三级丝袜| 欧美一级片在线观看| 67194成人在线观看| 欧美精品三级日韩久久| 欧美在线免费视屏| 欧美午夜精品久久久久久孕妇 | 亚洲va韩国va欧美va精品| 一区二区三区美女| 一区二区三区四区高清精品免费观看| 中文字幕不卡的av| 国产三级精品三级| 中文字幕精品在线不卡| 中文字幕欧美激情| 国产精品福利电影一区二区三区四区| 欧美激情综合五月色丁香| 欧美国产欧美综合| 中文字幕一区视频| 亚洲欧美另类图片小说| 亚洲桃色在线一区| 亚洲在线视频免费观看| 亚洲成人黄色小说| 琪琪久久久久日韩精品| 极品少妇一区二区| 国产一区二区三区免费观看| 国产不卡视频在线观看| 99久久久精品| 欧美视频一区二区三区| 91精品一区二区三区在线观看| 日韩午夜激情电影| 久久久噜噜噜久噜久久综合| 国产精品女上位| 一区二区三区四区不卡视频| 亚洲.国产.中文慕字在线| 蜜臀久久99精品久久久久宅男| 狠狠狠色丁香婷婷综合激情| kk眼镜猥琐国模调教系列一区二区| 97精品国产露脸对白| 欧美视频第二页| 欧美r级电影在线观看| 欧美激情在线观看视频免费| 亚洲一区二区综合| 另类小说一区二区三区| 成人美女视频在线观看18| 欧美日韩三级一区| 久久一区二区视频| 亚洲精品国产精品乱码不99| 日韩精品一卡二卡三卡四卡无卡| 国产在线精品不卡| 91成人在线免费观看| 日韩精品一区二区三区中文精品| 中文在线资源观看网站视频免费不卡| 亚洲精品视频观看| 精品一区二区三区久久久| 94-欧美-setu| 日韩精品一区在线观看| 亚洲日韩欧美一区二区在线| 日本不卡在线视频| 91网站最新网址| 日韩精品影音先锋| 亚洲综合激情另类小说区| 国产一区激情在线| 欧洲另类一二三四区| 久久精品欧美一区二区三区不卡| 一区二区三区91| 成人av网在线| 久久无码av三级| 日韩一区欧美二区| 不卡的av中国片| 久久久久国产精品厨房| 视频一区视频二区中文字幕| 成人h精品动漫一区二区三区| 日韩精品最新网址| 天天综合网 天天综合色| 91麻豆国产福利在线观看| 久久久五月婷婷| 极品尤物av久久免费看| 91精品国产色综合久久| 伊人开心综合网| 北岛玲一区二区三区四区| 欧美r级电影在线观看| 天天综合网 天天综合色| 色成人在线视频| 亚洲欧洲av在线| 国产.欧美.日韩| 欧美成人一区二区| 日本一不卡视频| 欧美日韩免费一区二区三区视频 | 国产亚洲欧洲997久久综合| 日韩电影免费在线看| 欧美曰成人黄网| 亚洲色图在线看| 97超碰欧美中文字幕| 欧美韩日一区二区三区四区| 国产精品资源网站| 久久久精品影视| 激情五月激情综合网| wwww国产精品欧美| 国产一区激情在线| 久久久不卡网国产精品一区| 国产一区在线观看麻豆| 亚洲精品一区二区三区香蕉 | 国v精品久久久网| 中文文精品字幕一区二区| 国产91精品精华液一区二区三区| 国产色一区二区| 成人听书哪个软件好| 欧美国产成人在线| 色综合视频在线观看| 亚洲免费观看高清完整版在线观看 | 亚洲欧美在线视频观看| 97se狠狠狠综合亚洲狠狠| 亚洲色图制服丝袜| 日本精品一区二区三区高清| 一区二区久久久久久| 欧美日韩亚洲综合一区二区三区| 日韩av一区二| 2020国产精品自拍| 成人午夜激情视频| 亚洲精品一二三| 欧美日产国产精品| 国产资源在线一区| 国产精品国产三级国产aⅴ中文 | 成人黄色一级视频| 亚洲激情网站免费观看| 91精品国产综合久久国产大片| 久久精品国产精品亚洲综合| 国产肉丝袜一区二区| 91成人在线精品| 九色综合狠狠综合久久| 国产精品美女久久久久久久久| 色综合中文字幕| 日本伊人午夜精品| 国产精品毛片久久久久久久| 欧美日韩一区在线| 国产一区二区在线观看视频| 亚洲靠逼com|