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

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

?? gui_bmp_serialize.c

?? ucCos移植到廣州友善nano2410
?? C
字號:
/*
*********************************************************************************************************
*                                                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        : 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;
  U32 BitmapOffset, FileSize;
  int BPP          = LCD_GetBitsPerPixel();
  int BytesPerLine = ((BPP > 8) ? (2 * xSize + 2) : (xSize + 3)) & ~3;
  int NumColors    = (BPP > 8) ? 0 : (1 << BPP);
  /* 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 = BytesPerLine & 3; i > 0; i--) {
      pfSerialize(0, p);
    }
  }
}

/*********************************************************************
*
*       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一区二区三区免费野_久草精品视频
中文欧美字幕免费| 欧美三级电影网| 精品国产一区二区三区不卡| 日本成人中文字幕在线视频| 日韩精品在线网站| 狠狠色丁香久久婷婷综合丁香| 日韩欧美亚洲国产另类 | 中文字幕在线一区免费| 成人亚洲精品久久久久软件| 国产精品久久久久9999吃药| 色菇凉天天综合网| 亚洲高清免费视频| xfplay精品久久| 成人av在线一区二区| 一区二区三区精品久久久| 欧美日韩一区二区在线观看视频| 日韩不卡手机在线v区| 2020国产精品久久精品美国| 成人国产免费视频| 亚洲一区二区三区视频在线播放 | 国产精品天干天干在观线| 色婷婷激情久久| 毛片av中文字幕一区二区| 久久人人97超碰com| 99v久久综合狠狠综合久久| 亚洲永久免费视频| 26uuu国产电影一区二区| 成人免费视频国产在线观看| 亚洲va国产va欧美va观看| 亚洲精品国产精品乱码不99| 欧美色网站导航| 国产一区二区三区免费观看| 亚洲精品精品亚洲| 精品乱码亚洲一区二区不卡| 91麻豆视频网站| 激情久久久久久久久久久久久久久久| 国产精品久久久久精k8| 日韩小视频在线观看专区| 成人国产免费视频| 蜜桃视频在线一区| 亚洲精品乱码久久久久久黑人| 日韩一二在线观看| 在线视频中文字幕一区二区| 国产精品自拍在线| 免费久久精品视频| 亚洲综合色婷婷| 国产精品色婷婷| 精品少妇一区二区三区在线播放| 日本精品一级二级| 99精品一区二区三区| 九色porny丨国产精品| 亚洲制服丝袜一区| 日本一区二区电影| 精品国产伦一区二区三区观看方式| 色94色欧美sute亚洲线路一ni | 婷婷综合另类小说色区| 国产精品麻豆久久久| 欧美精品一区二区三区一线天视频| av激情综合网| 国产91丝袜在线18| 国产呦精品一区二区三区网站| 日本视频一区二区三区| 亚洲永久精品大片| 一个色妞综合视频在线观看| 中文字幕巨乱亚洲| 日本一区二区三区四区| 久久精品视频网| 2024国产精品视频| 精品久久久久久久久久久久包黑料 | 欧美变态tickle挠乳网站| 国产精品青草久久| 欧美国产激情一区二区三区蜜月| 精品国产91亚洲一区二区三区婷婷 | 精品国产免费人成电影在线观看四季 | 欧美经典三级视频一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 欧美精品丝袜中出| 欧美日韩免费一区二区三区 | 欧美最新大片在线看| 91蜜桃网址入口| 91麻豆123| 色哟哟国产精品免费观看| 91麻豆福利精品推荐| 日本国产一区二区| 欧美日韩国产系列| 制服.丝袜.亚洲.中文.综合| 欧美一区三区四区| 欧美tk—视频vk| 久久精品免费在线观看| 中文字幕免费不卡| 国产精品女主播av| 亚洲男同性恋视频| 午夜精品在线看| 免费成人在线播放| 国产精品自拍网站| 成人午夜激情视频| 91国偷自产一区二区三区成为亚洲经典| 91啪亚洲精品| 337p亚洲精品色噜噜狠狠| 日韩欧美国产三级| 久久久国产精品不卡| 国产精品毛片久久久久久| 日韩一区在线看| 丝瓜av网站精品一区二区| 久久国产日韩欧美精品| 成人爽a毛片一区二区免费| 在线观看成人免费视频| 日韩精品一区二区三区老鸭窝 | 狠狠色丁香九九婷婷综合五月 | 91蜜桃网址入口| 自拍偷在线精品自拍偷无码专区| 亚洲午夜日本在线观看| 日本中文在线一区| 国产**成人网毛片九色| 欧美美女视频在线观看| 久久久久久久久久久久久久久99 | 成年人网站91| 777久久久精品| 中文在线一区二区| 日韩精品电影在线观看| 成人av免费在线观看| 欧美疯狂做受xxxx富婆| 中文字幕欧美日韩一区| 亚洲电影你懂得| 成人黄色a**站在线观看| 欧美一区二区日韩一区二区| 中文字幕一区二区三区在线观看 | 激情综合网最新| 91激情在线视频| 久久久久久久久久美女| 亚洲综合男人的天堂| 99久久国产综合精品色伊| 欧美电视剧在线观看完整版| 亚洲一区在线观看免费观看电影高清| 精品亚洲成a人| 欧美日韩午夜影院| 亚洲欧洲www| 国产福利一区二区三区在线视频| 欧美日韩一级片在线观看| 国产精品成人免费| 国产麻豆日韩欧美久久| 欧美一区二区三区免费在线看| 亚洲摸摸操操av| 成人美女在线观看| 国产网红主播福利一区二区| 日本aⅴ亚洲精品中文乱码| 色视频欧美一区二区三区| 中文字幕精品一区二区精品绿巨人| 蜜桃视频第一区免费观看| 欧美视频中文一区二区三区在线观看| 国产精品久久久久久久浪潮网站 | 色婷婷久久99综合精品jk白丝| 国产欧美一区二区精品忘忧草 | 国产91丝袜在线播放0| 日韩欧美亚洲另类制服综合在线| 亚洲国产精品麻豆| 在线观看不卡一区| 亚洲综合一二三区| 日本高清免费不卡视频| 亚洲裸体xxx| 91无套直看片红桃| 国产精品国产自产拍高清av | 欧美日韩dvd在线观看| 亚洲天堂a在线| 99精品一区二区三区| 亚洲男人都懂的| 欧美丝袜丝nylons| 午夜精品久久久久影视| 欧美精品国产精品| 美女精品一区二区| 欧美哺乳videos| 国产精品一区二区免费不卡 | 欧美一三区三区四区免费在线看| 亚洲h精品动漫在线观看| 欧美日韩国产综合一区二区 | 欧美色视频在线| 亚洲123区在线观看| 欧美伦理电影网| 日本怡春院一区二区| 亚洲综合自拍偷拍| 欧美高清www午色夜在线视频| 亚洲r级在线视频| 精品久久久久久无| 成人黄色a**站在线观看| 亚洲免费观看高清完整版在线 | 精品国产乱码久久久久久老虎| 久99久精品视频免费观看| 国产欧美精品一区二区色综合| 成人综合婷婷国产精品久久蜜臀| 中文字幕日本不卡| 欧美亚洲日本一区| 秋霞午夜av一区二区三区| 国产色91在线| 91黄视频在线观看| 精品综合免费视频观看| 国产精品污网站| 欧美高清dvd| 成人免费三级在线| 午夜成人在线视频| 日本一区二区在线不卡|