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

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

?? visualpng.c

?? openmeetings組件之GS openmeetings組件之GS openmeetings組件之GS
?? C
?? 第 1 頁 / 共 2 頁
字號:
//------------------------------------//  VisualPng.C -- Shows a PNG image//------------------------------------// Copyright 2000, Willem van Schaik.  For conditions of distribution and// use, see the copyright/license/disclaimer notice in png.h// switches// defines#define PROGNAME  "VisualPng"#define LONGNAME  "Win32 Viewer for PNG-files"#define VERSION   "1.0 of 2000 June 07"// constants#define MARGIN 8// standard includes#include <stdio.h>#include <stdlib.h>#include <string.h>#include <windows.h>// application includes#include "png.h"#include "pngfile.h"#include "resource.h"// macros// function prototypesLRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);BOOL    CALLBACK AboutDlgProc (HWND, UINT, WPARAM, LPARAM) ;BOOL CenterAbout (HWND hwndChild, HWND hwndParent);BOOL BuildPngList (PTSTR pstrPathName, TCHAR **ppFileList, int *pFileCount,        int *pFileIndex);BOOL SearchPngList (TCHAR *pFileList, int FileCount, int *pFileIndex,        PTSTR pstrPrevName, PTSTR pstrNextName);BOOL LoadImageFile(HWND hwnd, PTSTR pstrPathName,        png_byte **ppbImage, int *pxImgSize, int *pyImgSize, int *piChannels,        png_color *pBkgColor);BOOL DisplayImage (HWND hwnd, BYTE **ppDib,        BYTE **ppDiData, int cxWinSize, int cyWinSize,        BYTE *pbImage, int cxImgSize, int cyImgSize, int cImgChannels,        BOOL bStretched);BOOL InitBitmap (        BYTE *pDiData, int cxWinSize, int cyWinSize);BOOL FillBitmap (        BYTE *pDiData, int cxWinSize, int cyWinSize,        BYTE *pbImage, int cxImgSize, int cyImgSize, int cImgChannels,        BOOL bStretched);// a few global variablesstatic char *szProgName = PROGNAME;static char *szAppName = LONGNAME;static char *szIconName = PROGNAME;static char szCmdFileName [MAX_PATH];// MAIN routineint WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,                    PSTR szCmdLine, int iCmdShow){    HACCEL   hAccel;    HWND     hwnd;    MSG      msg;    WNDCLASS wndclass;    int ixBorders, iyBorders;    wndclass.style         = CS_HREDRAW | CS_VREDRAW;    wndclass.lpfnWndProc   = WndProc;    wndclass.cbClsExtra    = 0;    wndclass.cbWndExtra    = 0;    wndclass.hInstance     = hInstance;    wndclass.hIcon         = LoadIcon (hInstance, szIconName) ;    wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW);    wndclass.hbrBackground = NULL; // (HBRUSH) GetStockObject (GRAY_BRUSH);    wndclass.lpszMenuName  = szProgName;    wndclass.lpszClassName = szProgName;    if (!RegisterClass (&wndclass))    {        MessageBox (NULL, TEXT ("Error: this program requires Windows NT!"),            szProgName, MB_ICONERROR);        return 0;    }    // if filename given on commandline, store it    if ((szCmdLine != NULL) && (*szCmdLine != '\0'))        if (szCmdLine[0] == '"')            strncpy (szCmdFileName, szCmdLine + 1, strlen(szCmdLine) - 2);        else            strcpy (szCmdFileName, szCmdLine);    else        strcpy (szCmdFileName, "");    // calculate size of window-borders    ixBorders = 2 * (GetSystemMetrics (SM_CXBORDER) +                     GetSystemMetrics (SM_CXDLGFRAME));    iyBorders = 2 * (GetSystemMetrics (SM_CYBORDER) +                     GetSystemMetrics (SM_CYDLGFRAME)) +                     GetSystemMetrics (SM_CYCAPTION) +                     GetSystemMetrics (SM_CYMENUSIZE) +                     1; /* WvS: don't ask me why? */    hwnd = CreateWindow (szProgName, szAppName,        WS_OVERLAPPEDWINDOW,        CW_USEDEFAULT, CW_USEDEFAULT,        512 + 2 * MARGIN + ixBorders, 384 + 2 * MARGIN + iyBorders,//      CW_USEDEFAULT, CW_USEDEFAULT,        NULL, NULL, hInstance, NULL);    ShowWindow (hwnd, iCmdShow);    UpdateWindow (hwnd);    hAccel = LoadAccelerators (hInstance, szProgName);    while (GetMessage (&msg, NULL, 0, 0))    {        if (!TranslateAccelerator (hwnd, hAccel, &msg))        {            TranslateMessage (&msg);            DispatchMessage (&msg);        }    }    return msg.wParam;}LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam,        LPARAM lParam){    static HINSTANCE          hInstance ;    static HDC                hdc;    static PAINTSTRUCT        ps;    static HMENU              hMenu;    static BITMAPFILEHEADER  *pbmfh;    static BITMAPINFOHEADER  *pbmih;    static BYTE              *pbImage;    static int                cxWinSize, cyWinSize;    static int                cxImgSize, cyImgSize;    static int                cImgChannels;    static png_color          bkgColor = {127, 127, 127};    static BOOL               bStretched = TRUE;    static BYTE              *pDib = NULL;    static BYTE              *pDiData = NULL;    static TCHAR              szImgPathName [MAX_PATH];    static TCHAR              szTitleName [MAX_PATH];    static TCHAR             *pPngFileList = NULL;    static int                iPngFileCount;    static int                iPngFileIndex;    BOOL                      bOk;    switch (message)    {    case WM_CREATE:        hInstance = ((LPCREATESTRUCT) lParam)->hInstance ;        PngFileInitialize (hwnd);        strcpy (szImgPathName, "");        // in case we process file given on command-line        if (szCmdFileName[0] != '\0')        {            strcpy (szImgPathName, szCmdFileName);            // read the other png-files in the directory for later            // next/previous commands            BuildPngList (szImgPathName, &pPngFileList, &iPngFileCount,                          &iPngFileIndex);            // load the image from file            if (!LoadImageFile (hwnd, szImgPathName,                &pbImage, &cxImgSize, &cyImgSize, &cImgChannels, &bkgColor))                return 0;            // invalidate the client area for later update            InvalidateRect (hwnd, NULL, TRUE);            // display the PNG into the DIBitmap            DisplayImage (hwnd, &pDib, &pDiData, cxWinSize, cyWinSize,                pbImage, cxImgSize, cyImgSize, cImgChannels, bStretched);        }        return 0;    case WM_SIZE:        cxWinSize = LOWORD (lParam);        cyWinSize = HIWORD (lParam);        // invalidate the client area for later update        InvalidateRect (hwnd, NULL, TRUE);        // display the PNG into the DIBitmap        DisplayImage (hwnd, &pDib, &pDiData, cxWinSize, cyWinSize,            pbImage, cxImgSize, cyImgSize, cImgChannels, bStretched);        return 0;    case WM_INITMENUPOPUP:        hMenu = GetMenu (hwnd);        if (pbImage)            EnableMenuItem (hMenu, IDM_FILE_SAVE, MF_ENABLED);        else            EnableMenuItem (hMenu, IDM_FILE_SAVE, MF_GRAYED);        return 0;    case WM_COMMAND:        hMenu = GetMenu (hwnd);        switch (LOWORD (wParam))        {        case IDM_FILE_OPEN:            // show the File Open dialog box            if (!PngFileOpenDlg (hwnd, szImgPathName, szTitleName))                return 0;            // read the other png-files in the directory for later            // next/previous commands            BuildPngList (szImgPathName, &pPngFileList, &iPngFileCount,                          &iPngFileIndex);            // load the image from file            if (!LoadImageFile (hwnd, szImgPathName,                &pbImage, &cxImgSize, &cyImgSize, &cImgChannels, &bkgColor))                return 0;            // invalidate the client area for later update            InvalidateRect (hwnd, NULL, TRUE);            // display the PNG into the DIBitmap            DisplayImage (hwnd, &pDib, &pDiData, cxWinSize, cyWinSize,                pbImage, cxImgSize, cyImgSize, cImgChannels, bStretched);            return 0;        case IDM_FILE_SAVE:            // show the File Save dialog box            if (!PngFileSaveDlg (hwnd, szImgPathName, szTitleName))                return 0;            // save the PNG to a disk file            SetCursor (LoadCursor (NULL, IDC_WAIT));            ShowCursor (TRUE);            bOk = PngSaveImage (szImgPathName, pDiData, cxWinSize, cyWinSize,                  bkgColor);            ShowCursor (FALSE);            SetCursor (LoadCursor (NULL, IDC_ARROW));            if (!bOk)                MessageBox (hwnd, TEXT ("Error in saving the PNG image"),                szProgName, MB_ICONEXCLAMATION | MB_OK);            return 0;        case IDM_FILE_NEXT:            // read next entry in the directory            if (SearchPngList (pPngFileList, iPngFileCount, &iPngFileIndex,                NULL, szImgPathName))            {                if (strcmp (szImgPathName, "") == 0)                    return 0;                                // load the image from file                                if (!LoadImageFile (hwnd, szImgPathName, &pbImage,                        &cxImgSize, &cyImgSize, &cImgChannels, &bkgColor))                    return 0;                                // invalidate the client area for later update                                InvalidateRect (hwnd, NULL, TRUE);                                // display the PNG into the DIBitmap                                DisplayImage (hwnd, &pDib, &pDiData, cxWinSize, cyWinSize,                    pbImage, cxImgSize, cyImgSize, cImgChannels, bStretched);            }                        return 0;        case IDM_FILE_PREVIOUS:            // read previous entry in the directory            if (SearchPngList (pPngFileList, iPngFileCount, &iPngFileIndex,                szImgPathName, NULL))            {                                if (strcmp (szImgPathName, "") == 0)                    return 0;                                // load the image from file                                if (!LoadImageFile (hwnd, szImgPathName, &pbImage, &cxImgSize,                    &cyImgSize, &cImgChannels, &bkgColor))                    return 0;                                // invalidate the client area for later update                                InvalidateRect (hwnd, NULL, TRUE);                                // display the PNG into the DIBitmap                                DisplayImage (hwnd, &pDib, &pDiData, cxWinSize, cyWinSize,                    pbImage, cxImgSize, cyImgSize, cImgChannels, bStretched);            }            return 0;        case IDM_FILE_EXIT:            // more cleanup needed...            // free image buffer            if (pDib != NULL)            {                free (pDib);                pDib = NULL;            }            // free file-list            if (pPngFileList != NULL)            {                free (pPngFileList);                pPngFileList = NULL;            }            // let's go ...            exit (0);            return 0;        case IDM_OPTIONS_STRETCH:            bStretched = !bStretched;            if (bStretched)                CheckMenuItem (hMenu, IDM_OPTIONS_STRETCH, MF_CHECKED);            else                CheckMenuItem (hMenu, IDM_OPTIONS_STRETCH, MF_UNCHECKED);            // invalidate the client area for later update            InvalidateRect (hwnd, NULL, TRUE);            // display the PNG into the DIBitmap            DisplayImage (hwnd, &pDib, &pDiData, cxWinSize, cyWinSize,                pbImage, cxImgSize, cyImgSize, cImgChannels, bStretched);            return 0;        case IDM_HELP_ABOUT:            DialogBox (hInstance, TEXT ("AboutBox"), hwnd, AboutDlgProc) ;            return 0;        } // end switch        break;    case WM_PAINT:        hdc = BeginPaint (hwnd, &ps);        if (pDib)            SetDIBitsToDevice (hdc, 0, 0, cxWinSize, cyWinSize, 0, 0,                0, cyWinSize, pDiData, (BITMAPINFO *) pDib, DIB_RGB_COLORS);        EndPaint (hwnd, &ps);        return 0;    case WM_DESTROY:        if (pbmfh)        {            free (pbmfh);            pbmfh = NULL;        }        PostQuitMessage (0);        return 0;    }    return DefWindowProc (hwnd, message, wParam, lParam);}BOOL CALLBACK AboutDlgProc (HWND hDlg, UINT message,                            WPARAM wParam, LPARAM lParam){     switch (message)     {     case WM_INITDIALOG :          ShowWindow (hDlg, SW_HIDE);          CenterAbout (hDlg, GetWindow (hDlg, GW_OWNER));          ShowWindow (hDlg, SW_SHOW);          return TRUE ;     case WM_COMMAND :          switch (LOWORD (wParam))          {          case IDOK :          case IDCANCEL :               EndDialog (hDlg, 0) ;               return TRUE ;          }          break ;     }     return FALSE ;}//---------------//  CenterAbout//---------------BOOL CenterAbout (HWND hwndChild, HWND hwndParent){   RECT    rChild, rParent, rWorkArea;   int     wChild, hChild, wParent, hParent;   int     xNew, yNew;   BOOL  bResult;   // Get the Height and Width of the child window   GetWindowRect (hwndChild, &rChild);   wChild = rChild.right - rChild.left;   hChild = rChild.bottom - rChild.top;   // Get the Height and Width of the parent window   GetWindowRect (hwndParent, &rParent);   wParent = rParent.right - rParent.left;   hParent = rParent.bottom - rParent.top;   // Get the limits of the 'workarea'   bResult = SystemParametersInfo(      SPI_GETWORKAREA,  // system parameter to query or set      sizeof(RECT),      &rWorkArea,      0);   if (!bResult) {      rWorkArea.left = rWorkArea.top = 0;      rWorkArea.right = GetSystemMetrics(SM_CXSCREEN);      rWorkArea.bottom = GetSystemMetrics(SM_CYSCREEN);   }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品美女久久久久久2018| 51精品久久久久久久蜜臀| 日韩欧美亚洲另类制服综合在线| 伊人夜夜躁av伊人久久| 97久久精品人人做人人爽50路| 欧美激情一区在线| 成人精品鲁一区一区二区| 欧美激情自拍偷拍| 成人免费黄色大片| 中文字幕在线免费不卡| a级精品国产片在线观看| 中文字幕在线播放不卡一区| 91免费看`日韩一区二区| 一区免费观看视频| 色美美综合视频| 亚洲高清在线精品| 欧美日产在线观看| 奇米精品一区二区三区四区| 日韩视频一区在线观看| 国产一区二区三区久久悠悠色av| 久久久99精品免费观看不卡| 国产乱子轮精品视频| 久久精品男人的天堂| 91在线porny国产在线看| 亚洲午夜电影在线| 日韩一二三区不卡| 国产精品一品二品| 亚洲欧美电影院| 欧美蜜桃一区二区三区| 亚洲无人区一区| 欧美日本视频在线| 韩国v欧美v亚洲v日本v| 国产精品国产三级国产专播品爱网 | jlzzjlzz欧美大全| 亚洲综合一二区| 日韩免费看的电影| 91网址在线看| 日本亚洲最大的色成网站www| 精品久久久久久久久久久久久久久| 国产宾馆实践打屁股91| 亚洲一区二区三区四区不卡| 欧美一级二级三级蜜桃| 国产91富婆露脸刺激对白| 亚洲综合一区二区三区| 青椒成人免费视频| 91精品国产欧美一区二区成人 | 亚洲国产成人91porn| 精品国产伦理网| 99久久精品国产导航| 亚洲黄网站在线观看| 亚洲精品一区二区三区99| 色综合一个色综合| 精品一区二区三区在线播放| 国产精品久久综合| 日韩欧美www| 99在线精品视频| 久久国内精品自在自线400部| 亚洲日本青草视频在线怡红院| 91精品福利在线一区二区三区 | 亚欧色一区w666天堂| 久久精品人人做人人爽人人| 欧美调教femdomvk| 成人免费av网站| 韩国欧美国产1区| 亚洲日本青草视频在线怡红院| 日韩视频永久免费| 欧美色倩网站大全免费| 99视频一区二区| 国内精品国产三级国产a久久| 亚洲午夜久久久久中文字幕久| 欧美mv日韩mv国产网站| 欧美日韩免费在线视频| 99久久久无码国产精品| 国产高清成人在线| 久久狠狠亚洲综合| 美女被吸乳得到大胸91| 日韩毛片高清在线播放| 欧美极品xxx| 久久婷婷成人综合色| 日韩三级伦理片妻子的秘密按摩| 在线日韩一区二区| 99久久综合精品| 成人av免费在线观看| 国产福利一区二区三区在线视频| 老司机一区二区| 麻豆精品久久精品色综合| 午夜欧美在线一二页| 亚洲男人的天堂av| 中文字幕一区二区三区在线播放 | 岛国一区二区在线观看| 韩国女主播一区| 国产一区久久久| 国产一区二区毛片| 国产麻豆9l精品三级站| 国产精品一区二区你懂的| 国产一区在线观看麻豆| 国产乱码精品一品二品| 国产精品一区不卡| 国产精品99久久久久久久vr| 国产精品一区二区三区乱码| 成人中文字幕电影| 国产成人夜色高潮福利影视| 狠狠色综合日日| 久久99热狠狠色一区二区| 久久国产精品露脸对白| 久久成人羞羞网站| 国产精品一区一区三区| 成人高清视频在线观看| 色婷婷av一区二区三区软件| 在线观看视频91| 91福利在线免费观看| 91精品国产综合久久久久久久| 精品久久久久久久久久久久久久久久久| 日本一区二区免费在线观看视频| 亚洲精品国产a| 国产乱码精品一品二品| 欧美中文字幕久久| 久久精品水蜜桃av综合天堂| 亚洲自拍欧美精品| 国产.欧美.日韩| 欧美精品在线观看播放| 中文欧美字幕免费| 美女一区二区三区| 欧洲激情一区二区| 国产精品色哟哟网站| 日本欧美韩国一区三区| 色www精品视频在线观看| 精品国产凹凸成av人导航| 18成人在线视频| 韩国三级中文字幕hd久久精品| 欧美日韩国产成人在线91| 国产精品久线在线观看| 久久99国产精品尤物| 欧美日韩精品一区二区三区 | 国产专区综合网| 欧美日韩国产bt| 亚洲色欲色欲www| 粉嫩嫩av羞羞动漫久久久 | 国产精品色噜噜| 精品一区二区三区不卡| 精品视频色一区| 亚洲美女在线国产| gogogo免费视频观看亚洲一| 精品国产免费久久 | 国产精品免费久久| 国产精品一区二区三区乱码 | 欧美高清视频在线高清观看mv色露露十八| 中文字幕不卡的av| 国产成人精品午夜视频免费| 精品国产免费人成电影在线观看四季 | 欧美日韩国产精品成人| 一区二区三区精品视频| 成人精品视频一区二区三区 | 亚洲欧美在线视频观看| 懂色一区二区三区免费观看 | 色哦色哦哦色天天综合| 亚洲视频你懂的| aa级大片欧美| 亚洲美女视频在线| 在线亚洲人成电影网站色www| 一区视频在线播放| 一本色道久久加勒比精品| 最新国产精品久久精品| 99精品视频一区| 综合av第一页| 在线观看亚洲成人| 亚洲风情在线资源站| 欧美人妖巨大在线| 日韩国产精品久久久| 欧美电影免费提供在线观看| 久久精品国产精品青草| 精品免费一区二区三区| 国产精品亚洲一区二区三区妖精| 久久夜色精品一区| 成人av电影在线观看| 亚洲男人电影天堂| 欧美人与禽zozo性伦| 久久av中文字幕片| 中文字幕高清一区| 91美女福利视频| 天堂成人国产精品一区| 亚洲精品一区二区三区99| 成人免费福利片| 亚洲成人av一区二区三区| 91精品国产入口| 处破女av一区二区| 亚洲一二三区在线观看| 日韩欧美精品在线| 风流少妇一区二区| 一区二区三区在线观看国产| 91精品在线免费观看| 国产成都精品91一区二区三| 亚洲另类在线制服丝袜| 欧美一级高清大全免费观看| 国产99久久久国产精品潘金网站| 亚洲乱码国产乱码精品精的特点 | 91天堂素人约啪| 亚洲一区二区成人在线观看| 精品国精品国产尤物美女| 国产91精品在线观看|