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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 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);   }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
白白色 亚洲乱淫| 国产69精品一区二区亚洲孕妇| 久久精品欧美日韩| 精品日韩在线观看| 日韩欧美一区电影| 日韩三级精品电影久久久 | 国产在线精品一区二区夜色 | 顶级嫩模精品视频在线看| 久久精品国产亚洲一区二区三区| 日韩av网站免费在线| 日本亚洲电影天堂| 另类调教123区| 国产精品一区二区无线| 国产大陆a不卡| 99国产麻豆精品| 色94色欧美sute亚洲线路一ni| 91影院在线观看| 在线视频欧美精品| 欧美一级片在线观看| 欧美mv日韩mv国产| 亚洲国产高清在线观看视频| 最近中文字幕一区二区三区| 亚洲综合小说图片| 久久国产麻豆精品| 成人国产一区二区三区精品| 欧美午夜精品一区| 日韩女优av电影在线观看| 中文字幕av资源一区| 亚洲影视在线播放| 国内成人免费视频| 欧美午夜电影网| 2021国产精品久久精品| 中日韩免费视频中文字幕| 亚洲一区影音先锋| 国产精品1024| 91精品国产福利| 国产精品久久久99| 日本午夜一本久久久综合| fc2成人免费人成在线观看播放 | 亚洲天天做日日做天天谢日日欢 | 欧美一区二区三区视频免费播放| 久久综合久久综合九色| 亚洲免费在线视频一区 二区| 蜜乳av一区二区| 色噜噜狠狠成人中文综合| 日韩欧美电影一二三| 亚洲综合一区二区| 北条麻妃一区二区三区| 日韩欧美123| 亚洲国产日韩综合久久精品| 国产精品一二三在| 91麻豆精品国产无毒不卡在线观看| 国产精品色呦呦| 国产一级精品在线| 欧美一区在线视频| 亚洲一区二区中文在线| 成人av午夜电影| 久久精品视频免费| 韩国视频一区二区| 欧美一区二区福利视频| 亚洲一区二区视频在线观看| 成人黄页在线观看| 26uuu国产一区二区三区| 日本不卡在线视频| 欧美久久久影院| 夜夜爽夜夜爽精品视频| 91在线国产观看| 国产精品不卡视频| 国产成人在线视频网址| 欧美精品一区二区三区蜜桃视频 | 久久精品视频网| 国内成人自拍视频| 精品福利一区二区三区免费视频| 全部av―极品视觉盛宴亚洲| 欧美日韩一本到| 午夜精品国产更新| 欧美亚洲国产一区二区三区va| 亚洲精品一二三| 色婷婷综合久久久中文一区二区| 亚洲精品视频在线观看网站| 91视频91自| 亚洲综合图片区| 91麻豆精品国产91久久久资源速度 | 波多野结衣在线一区| 国产日韩高清在线| 福利电影一区二区| 国产精品区一区二区三区| k8久久久一区二区三区| 亚洲蜜臀av乱码久久精品蜜桃| av中文一区二区三区| 亚洲精品一二三| 欧美色图一区二区三区| 日韩国产一二三区| 精品国产一区二区三区不卡| 国产激情偷乱视频一区二区三区| 国产亚洲精品久| 色综合天天综合狠狠| 日日夜夜免费精品| 精品第一国产综合精品aⅴ| 国产精品亚洲成人| 亚洲男人的天堂在线观看| 欧美精品第1页| 国产成人三级在线观看| 亚洲欧美精品午睡沙发| 欧美日韩久久久| 国产精品影视在线观看| 亚洲欧美色综合| 欧美一区二区三区的| 国产成人av电影在线观看| 亚洲人成伊人成综合网小说| 欧美日高清视频| 国产福利一区在线观看| 亚洲123区在线观看| 久久九九久精品国产免费直播| 色国产综合视频| 国内精品国产成人| 亚洲一区视频在线| 国产亚洲欧美色| 制服丝袜中文字幕亚洲| a在线播放不卡| 久久精品二区亚洲w码| 亚洲精选免费视频| 国产欧美日韩中文久久| 欧美一区二区三区免费观看视频 | 欧美精品日韩精品| 国产不卡在线一区| 日本在线观看不卡视频| 亚洲日本va在线观看| 久久久久久久久97黄色工厂| 欧美老女人在线| 91国偷自产一区二区开放时间| 久久国产欧美日韩精品| 亚洲成人tv网| 亚洲中国最大av网站| 国产精品免费视频网站| 精品国产伦一区二区三区观看体验| 日本丰满少妇一区二区三区| 国产精品综合av一区二区国产馆| 日韩精品亚洲一区| 一区二区三区不卡视频在线观看| 国产精品视频观看| 久久夜色精品国产噜噜av| 91精品在线免费观看| 欧洲一区二区三区在线| www.欧美色图| 成人性视频免费网站| 国产精品亚洲综合一区在线观看| 久久国产精品一区二区| 蜜桃精品在线观看| 男人的天堂久久精品| 奇米色一区二区三区四区| 亚洲国产精品天堂| 亚洲成人免费看| 亚洲va韩国va欧美va| 午夜欧美2019年伦理 | 777xxx欧美| 欧美日韩高清在线| 欧美肥胖老妇做爰| 538prom精品视频线放| 91精品国产手机| 日韩免费观看高清完整版| 欧美一区二区在线免费观看| 欧美一区二区不卡视频| 91 com成人网| 久久亚洲春色中文字幕久久久| 精品国产自在久精品国产| 日韩久久精品一区| 久久久国产一区二区三区四区小说| 久久久99免费| 国产精品乱人伦| 一区二区三区在线不卡| 亚洲成人精品一区二区| 全部av―极品视觉盛宴亚洲| 国产一本一道久久香蕉| 99久久婷婷国产综合精品电影 | 一区二区三区在线视频播放| 亚洲成人免费视频| 美女脱光内衣内裤视频久久影院| 极品瑜伽女神91| 99视频精品免费视频| 欧美色图免费看| 久久精品一区二区三区不卡 | 国产原创一区二区三区| 成人中文字幕电影| 欧美日韩电影在线| 国产亚洲精品bt天堂精选| 日韩码欧中文字| 日韩精品一卡二卡三卡四卡无卡| 久久精品国产99国产| 91视视频在线观看入口直接观看www| 欧美亚洲综合网| 国产三级久久久| 三级一区在线视频先锋| 国产成人免费视频网站 | 高清不卡在线观看av| 91丨九色丨蝌蚪富婆spa| 欧美一区二区三区在线视频| 国产精品久久免费看| 日韩精品一级二级| 色中色一区二区|