• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 298  文章 - 377  trackbacks - 0
            <2013年4月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            常用鏈接

            留言簿(34)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            收藏夾

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            1、IPicture接口對象的創建
                     方法1:直接通過文件創建

            LPCSTR szFileUrl;
             IPicture *pIPicture;
             OleLoadPicturePath(CComBSTR(szFileUrl), 
               (LPUNKNOWN)NULL, 
               0, 
               0, 
               IID_IPicture,
               (LPVOID*)&pIPicture))
                    方法2:通過IStream來創建
             // 加載電子地圖
             LPCSTR szFileUrl;
             IStream *pStream = NULL;
             IPicture *pIPicture = NULL;;
             CFileStatus fstatus;
             CFile file;
             LONG lFileSize;
             HGLOBAL hGlobal;
             if(file.Open(szFileUrl, CFile::modeRead) && file.GetStatus(szFileUrl, fstatus) 
              && ((lFileSize = fstatus.m_size) != -1))
             {
              hGlobal = GlobalAlloc(GMEM_MOVEABLE, lFileSize);// 開辟大內存
              if(hGlobal != NULL)
              {
               LPVOID pvData = NULL;
               pvData = GlobalLock(hGlobal);
               if(pvData != NULL)
               { 
                file.ReadHuge(pvData, lFileSize);   // 將圖片數據保存在內存中
                GlobalUnlock(hGlobal);
                CreateStreamOnHGlobal(hGlobal, TRUE, &m_pIStream);  // 創建流
                file.Close();
               }
               else
               {
                GlobalFree(hGlobal);
                return;
               }
              }
              else
              {
               file.Close();
               return;
              }
             }
             else
             {
              //打開圖片失敗
              return;
             }
             OleLoadPicture(m_pIStream, fstatus.m_size, TRUE, IID_IPicture, (LPVOID*)&m_pIPicture);
             GlobalFree(hGlobal);

            2、通過IPicture來獲取圖片的尺寸
             OLE_XSIZE_HIMETRIC hmPicWidth;       
             OLE_YSIZE_HIMETRIC hmPicHeight;      
             pIPicture->get_Width(&hmPicWidth);   // 獲取圖像寬度
             pIPicture->get_Height(&hmPicHeight); // 獲取圖像高度
             // 轉化單位為象素
             nPicWidth = MulDiv(hmPicWidth, GetDeviceCaps(GetDC()->m_hDC, LOGPIXELSX), HIMETRIC_PER_INCH);
             nPicHeight = MulDiv(hmPicHeight, GetDeviceCaps(GetDC()->m_hDC, LOGPIXELSY), HIMETRIC_PER_INCH);

            3、通過IPicture來畫圖
            void ShowPicture(CDC *pDC)
            {
             OLE_XPOS_HIMETRIC xSrc;  // 圖片中當前顯示區域的x
             OLE_YPOS_HIMETRIC ySrc;  // 圖片中當前顯示區域的y
             OLE_XSIZE_HIMETRIC cxSrc; // 圖片中當前顯示區域的寬度
             OLE_YSIZE_HIMETRIC cySrc; // 圖片中當前顯示區域的高度
             m_pIPicture->Render(*pDC, 0, 0, m_rcBox.Width(), m_rcBox.Height(), xSrc, ySrc, cxSrc, cySrc, NULL);
            }


            4、將IPicture中的圖片保存起來
            BOOL SaveToFileFromIPicture(LPCSTR szFileName, IPicture *pPic)
            {
             // Create ILockBytes Buffer
             ILockBytes *plkbyt = NULL;
             CreateILockBytesOnHGlobal(NULL, TRUE, &plkbyt);

             // Create IStorage
             IStorage   *pStorage = NULL;
             HRESULT hr = ::StgCreateDocfileOnILockBytes(plkbyt,
              STGM_SHARE_EXCLUSIVE | STGM_CREATE | STGM_READWRITE, 0, &pStorage);
             if (FAILED(hr))
             {
              plkbyt->Release();
              plkbyt = NULL;
              return FALSE;
             }

             // Create IStream
             IStream    *pStream = NULL;
             hr = pStorage->CreateStream(L"PICTURE",
              STGM_SHARE_EXCLUSIVE | STGM_CREATE | STGM_READWRITE, 0, 0, &pStream);
             if (FAILED(hr))
             {
              pStorage->Release();
              pStorage = NULL;
              plkbyt->Release();
              plkbyt = NULL;
              return FALSE;
             }
             
             // Copy Data Stream
             long  lSize;
             hr = pPic->SaveAsFile(pStream, TRUE, &lSize); 
             if (FAILED(hr))
             {
              pStream->Release();
              pStream = NULL;
              pStorage->Release();
              pStorage = NULL;
              plkbyt->Release();
              plkbyt = NULL;
              return FALSE;
             }
             // Get Statistics For Final Size Of Byte Array
             STATSTG  statStg;
             hr = plkbyt->Stat(&statStg, STATFLAG_NONAME);
             if (FAILED(hr))
             {
              pStream->Release();
              pStream = NULL;
              pStorage->Release();
              pStorage = NULL;
              plkbyt->Release();
              plkbyt = NULL;
              return FALSE;
             }

             // calculate "Pure" Picture Data, Must Be In a 512 Blocks...
             double  dbSkipFloat = (double(lSize) / 512);   
             DWORD  dwPicDataSize = 0;
             if(dbSkipFloat > DWORD(dbSkipFloat)) 
             {
              dwPicDataSize = (DWORD)dbSkipFloat + 1;
             }
             else 
             {
              dwPicDataSize = (DWORD)dbSkipFloat;
             }
             dwPicDataSize = dwPicDataSize * 512; 
             // Allocate Only The "Pure" Picture Data
             BYTE  *pPicDataBuffer = (BYTE*)malloc(dwPicDataSize);
             if (pPicDataBuffer == NULL)
             {
              pStream->Release();
              pStream = NULL;
              plkbyt->Release();
              pStorage->Release();
              pStorage = NULL;
              plkbyt = NULL;
              return FALSE;
             }
             
             // Read "Pure" Picture Data to Buffer
             _ULARGE_INTEGER ulOffset;
             ulOffset.LowPart = 0;
             ulOffset.HighPart = 0;
             ulOffset.QuadPart = (DWORD)(statStg.cbSize.QuadPart - dwPicDataSize);
             DWORD dwRealDataSize;
             hr = plkbyt->ReadAt(ulOffset, pPicDataBuffer, dwPicDataSize, &dwRealDataSize);
             if (FAILED(hr))
             {
              free(pPicDataBuffer);
              pPicDataBuffer = NULL;
              pStream->Release();
              pStream = NULL;
              pStorage->Release();
              pStorage = NULL;
              plkbyt->Release();
              plkbyt = NULL;
              return FALSE;
             }
             
             // Save "Pure" Picture Data to file
             CFile  fBmp; 
             CFileException e;
             if (!fBmp.Open(szFileName, CFile::typeBinary | CFile::modeCreate | CFile::modeWrite, &e))
             {
              free(pPicDataBuffer);
              pPicDataBuffer = NULL;
              pStream->Release();
              pStream = NULL;
              pStorage->Release();
              pStorage = NULL;
              plkbyt->Release();
              plkbyt = NULL;
              return FALSE;
             }
             fBmp.Write(pPicDataBuffer, dwRealDataSize);
             fBmp.Close();
             free(pPicDataBuffer);
             pPicDataBuffer = NULL;
             pStream->Release();
             pStream = NULL;
             pStorage->Release();
             pStorage = NULL;
             plkbyt->Release();
             plkbyt = NULL;
             return TRUE;
            }


            5、將IPicture中圖片按規定的尺寸保存
            BOOL CIPictureDlg::Save2File(LPCSTR szFileName, IPicture *pPic, int nWidth, int nHeight)
            {
             // create a new IPicture
             OLE_HANDLE hPic = NULL;
             if (FAILED(pPic->get_Handle(&hPic)))
             {
              return FALSE;
             }
             HBITMAP hBmp = (HBITMAP)CopyImage((HANDLE)hPic,
               IMAGE_BITMAP, 
               nWidth, 
               nWidth, 
               LR_CREATEDIBSECTION);
             if (hBmp == NULL)
             {
              return FALSE;
             }
             PICTDESC picDesc;
             picDesc.cbSizeofstruct = sizeof(PICTDESC);
             picDesc.picType = PICTYPE_BITMAP;
             picDesc.bmp.hbitmap = hBmp;

             IPicture *pNewPic = NULL;
             if (SUCCEEDED(OleCreatePictureIndirect(&picDesc, IID_IPicture, FALSE, (LPVOID *)&pNewPic)))
             {
              // Save to file
              Save2File(szFileName, pNewPic);
              pNewPic->Release();
              pNewPic = NULL;
              DeleteObject(hBmp);
              hBmp = NULL;
              return TRUE;
             }
             DeleteObject(hBmp);
             hBmp = NULL;
             return FALSE;
            }

             
            下面是有關 IPicture 的方法描述:

            方法描述
            get_Handle 返回圖像對象的Windows GDI句柄 
            get_Hpal 返回圖像對象當前使用的調色板拷貝
            get_Type返回當前圖像對象的的圖像類型
            get_Width 返回當前圖像對象的圖像寬度
            get_Height 返回當前圖像對象的圖像高度
            Render 在指定的位置、指定的設備上下文上繪制指定的圖像部分
            set_Hpal 設置當前圖像的調色板
            get_CurDC 返回當前選中這個圖像的設備上下文
            SelectPicture 將一個位圖圖像選入給定的設備上下文,返回選中圖像的設備上下文和圖像的GDI句柄
            get_KeepOriginalForma 返回圖像對象KeepOriginalFormat 屬性的當前值
            put_KeepOriginalFormat 設置圖像對象的KeepOriginalFormat 屬性
            PictureChanged 通知圖像對象它的圖像資源改變了
            SaveAsFile 將圖像數據存儲到流中,格式與存成文件格式相同
            get_Attributes 返回圖像位屬性當前的設置
             
             
            =========================================end=========================================================
             
            1、利用IPicture接口加載、顯示圖片

            IPicture接口管理一個圖片對象和它的屬性。圖片對象提供對Bitmap Icon Metafile的語言不相關的抽象支持。圖像對象的主要接口是IPicture和IPictureDisp。IPictureDisp從IDispatch繼承,提供了通過自動化訪問圖片屬性的能力。圖片對象可通過OleCreatePictureIndirect創建。關于IPicture支持的其他接口和方法可以看MSDN,一般創建圖片對象可以用OleLoadPicture函數,它簡化了基于流內容創建圖片對象。

            IPicture接口管理一個圖片對象和它的屬性。圖片對象提供對Bitmap Icon Metafile的語言不相關的抽象支持。圖像對象的主要接口是IPicture和IPictureDisp。IPictureDisp從IDispatch繼承,提供了通過自動化訪問圖片屬性的能力。圖片對象可通過OleCreatePictureIndirect創建。關于IPicture支持的其他接口和方法可以看MSDN,一般創建圖片對象可以用OleLoadPicture函數,它簡化了基于流內容創建圖片對象。下面的代碼中有兩個未定義的變量是FilePath和hDC。
            //FilePath是從外部傳入的圖片路徑
            //打開文件
            HANDLE hFile = CreateFile(FilePath, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
            _ASSERTE(INVALID_HANDLE_VALUE != hFile);
            //取文件大小
            DWORD dwFileSize = GetFileSize(hFile, NULL);
            _ASSERTE(-1 != dwFileSize);
            LPVOID pvData = NULL;
            //分配內存,準備讀入圖片文件的數據
            //GlobalAlloc從堆分配指定字節的內存區域
            HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, dwFileSize);
            _ASSERTE(NULL != hGlobal);
            //GlobalLock函數鎖住一個全局的內存對象同時返回一個指向對象首字節的指針
            pvData = GlobalLock(hGlobal);
            _ASSERTE(NULL != pvData);
            DWORD dwBytesRead = 0;
            //讀取文件的數據到分配的全局內存
            BOOL bRead = ReadFile(hFile, pvData, dwFileSize, &dwBytesRead, NULL);
            _ASSERTE(FALSE != bRead);
            GlobalUnlock(hGlobal);
            CloseHandle(hFile);

            //到此,我們已經把文件的數據讀到了內存當中

            LPSTREAM pstm = NULL;
            //從全局內存創建IStream接口指針
            HRESULT hr = CreateStreamOnHGlobal(hGlobal, TRUE, &pstm);
            _ASSERTE(SUCCEEDED(hr) && pstm);
            //根據圖片文件創建IPicture接口指針
            hr = ::OleLoadPicture(pstm, dwFileSize, FALSE, IID_IPicture, (LPVOID *)&gpPicture);
            _ASSERTE(SUCCEEDED(hr) && gpPicture); 
            pstm->Release();

            //至此,IPicture接口建立好,下面開始畫圖片
            //hDC是外部傳入的畫圖設備
            long hmWidth;
            long hmHeight;
            gpPicture->get_Width(&hmWidth);
            gpPicture->get_Height(&hmHeight);
            //轉換himetric距離為pixels距離,1英寸=25.4毫米
            int nWidth = MulDiv(hmWidth, GetDeviceCaps(hDC, LOGPIXELSX), 2540);
            int nHeight = MulDiv(hmHeight, GetDeviceCaps(hDC, LOGPIXELSY), 2540);
            RECT rc;
            GetClientRect(hWnd, &rc);
            //IPicture::Render顯示圖片
            gpPicture->Render(hDC, 0, 0, nWidth, nHeight, 0, hmHeight, hmWidth, -hmHeight, &rc);

            2、C++如何調用圖片
            有很多辦法 ,比如用IPicture,用CBitmap //MFC,更直接的是,用File進行文件操作,用BitBlt顯示,具體代碼你用以上關鍵字Google下 
            這里給你推薦幾個,末尾給你附一個網上可以找到的CPicture類(需MFC支持): 
            -------IPicture 
            // pDoc為文檔對象指針 
            // pDC為設備描述表指針 

            ::CoInitialize(NULL); // COM 初始化 
            HRESULT hr; 
            CFile file; 

            file.Open(pDoc->GetPathName(), CFile::modeRead | CFile::shareDenyNone ); // 讀入文件內容
            DWORD dwSize = file.GetLength(); 
            HGLOBAL hMem = ::GlobalAlloc( GMEM_MOVEABLE, dwSize ); 
            LPVOID lpBuf = ::GlobalLock( hMem ); 
            file.ReadHuge( lpBuf, dwSize ); 
            file.Close(); 
            ::GlobalUnlock( hMem ); 

            IStream * pStream = NULL; 
            IPicture * pPicture = NULL; 

            // 由 HGLOBAL 得到 IStream,參數 TRUE 表示釋放 IStream 的同時,釋放內存 
            hr = ::CreateStreamOnHGlobal( hMem, TRUE, &pStream ); 
            ASSERT ( SUCCEEDED(hr) ); 

            hr = ::OleLoadPicture( pStream, dwSize, TRUE, IID_IPicture, ( LPVOID * )&pPicture );
            ASSERT(hr==S_OK); 

            long nWidth,nHeight; // 寬高,MM_HIMETRIC 模式,單位是0.01毫米 
            pPicture->get_Width( &nWidth ); // 寬 
            pPicture->get_Height( &nHeight ); // 高 

            CRect rect; 
            GetClientRect(&rect); 

            CSize sz( nWidth, nHeight ); 
            pDC->HIMETRICtoDP( &sz ); // 轉換 MM_HIMETRIC 模式單位為 MM_TEXT 像素單位 
            long x, y, cx, cy; 

            // 原始大小 
            /* 
            cx = sz.cx; 
            cy = sz.cy; 
            x = rect.Width() / 2 - cx / 2; 
            y = rect.Height() / 2 - cy / 2; 
            */ 

            // 自動適應窗口 
            double fRatePic, fRateWnd; 
            fRatePic = (double)sz.cx / (double)sz.cy; 
            fRateWnd = (double)rect.Width() / (double)rect.Height(); 
            if (fRatePic > fRateWnd) 

            cx = rect.Width(); 
            cy = (long)(rect.Width() / fRatePic); 

            else 

            cx = (long)(rect.Height() * fRatePic); 
            cy = rect.Height(); 

            if (cx == rect.Width()) 

            x = 0; 
            y = rect.Height() / 2 - cy / 2; 

            if (cy == rect.Height()) 

            x = rect.Width() / 2 - cx / 2; 
            y = 0; 


            pPicture->Render(pDC->m_hDC, x, y, cx, cy, 
            0, nHeight, nWidth, -nHeight, NULL); 

            if ( pPicture ) pPicture->Release();// 釋放 IPicture 指針 
            if ( pStream ) pStream->Release(); // 釋放 IStream 指針,同時釋放了 hMem 

            ::CoUninitialize(); 

            --------------------------------CBitmap: 
            HBITMAP bitmap; 
            bitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),strFileName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
            m_backBitmap.DeleteObject(); 
            if(!m_backBitmap.Attach(bitmap)) 

            MessageBox("導入背景圖失敗!","提示",MB_OK); 
            return; 


            ----------------------File:略 
            前提是你要知道圖片的編碼格式 
            一般比較簡單的是BMP,包括 
            BITMAPFILEHEADER,BITMAPINFO,BITMAPINFOHEADER 
            如果圖片采用了壓縮算法可能會麻煩一點, 
            關于詳細情況你也以Google一下 

            附CPicture(引用自網上) 

            // Picture.h: interface for the CPicture 
            #ifndef PICTURE_H 
            #ifndef picture_h 

            #define PICTURE_H 
            #define picture_h 


            #if _MSC_VER > 1000 
            #pragma once 
            #endif // _MSC_VER > 1000 


            class CPicture 

            public: 
            CPicture(); 
            virtual ~CPicture(); 

            public: 
            BOOL LoadPicture(UINT nResource, LPCTSTR lpszResType) 
            {return LoadPicture(MAKEINTRESOURCE(nResource), lpszResType);} 
            BOOL LoadPictureFromFile(LPCTSTR lpszFileName); 
            BOOL LoadPicture(LPCTSTR lpszResource,LPCTSTR lpszResType); 
            BOOL IsValid(){ return m_pPic!=NULL;} 
            CSize GetSize(){return m_size;} 
            void Draw(CDC* pDC, LPCRECT lprcDest, LPCRECT lprcSrc); 
            void Draw(CDC* pDC, int xDest,int yDest, int cxDest, int cyDest , 
            int xSrc ,int ySrc ,int cxSrc ,int cySrc); 

            void Release(); 

            protected: 
            IPicture* m_pPic; 

            OLE_XSIZE_HIMETRIC _w_him; 
            OLE_YSIZE_HIMETRIC _h_him; 

            CSize m_size; 

            protected: 
            void CalcSize(); 
            }; 


            #endif // define picture_h 
            #endif // define PICTURE_H 



            ////////////////////////////////////////////////////////////////////// 
            // Picture.cpp: implementation of the CPicture class. 
            // Lounge Stdio 2003 
            // 作者:邊城浪子(QQ:16168666) 
            // E-mail: krh2001.lpfdiyvbb@163.com 
            ////////////////////////////////////////////////////////////////////// 

            #include "stdafx.h" 
            #include "Picture.h" 


            #ifdef _DEBUG 
            #undef THIS_FILE 
            static char THIS_FILE[]=__FILE__; 
            #define new DEBUG_NEW 
            #endif 


            ////////////////////////////////////////////////////////////////////// 
            // Construction/Destruction 
            ////////////////////////////////////////////////////////////////////// 

            CPicture::CPicture() 
            :m_pPic(NULL), _h_him(0), _w_him(0), m_size(0,0) 



            CPicture::~CPicture() 

            Release(); 


            void CPicture::Release() 

            if(m_pPic != NULL) 

            m_pPic->Release(); 
            m_pPic = NULL; 
            _h_him = _w_him = 0; 
            m_size.cx = m_size.cy = 0; 



            BOOL CPicture::LoadPicture(LPCTSTR lpszResource, LPCTSTR lpszResType) 

            Release(); 

            HINSTANCE hInst = AfxFindResourceHandle(lpszResource, lpszResType); 
            HRSRC hRsrc = ::FindResource(hInst, lpszResource, lpszResType); 
            if(hRsrc == NULL) return FALSE; 
            HGLOBAL hGlobal = LoadResource(hInst, hRsrc); 

            if(hGlobal == NULL) return FALSE; 


            DWORD dwSize = SizeofResource(hInst, hRsrc); 

            HGLOBAL hMem = ::GlobalAlloc(GMEM_MOVEABLE, dwSize); 
            if(hMem == NULL) return FALSE; 

            LPVOID pSrc = ::LockResource(hGlobal); 
            if(pSrc == NULL) { 
            ::GlobalFree(hMem); 
            return FALSE; 


            LPVOID pDes = ::GlobalLock(hMem); 
            if(pDes == NULL){ 
            //::GlobalUnlock(hGlobal); 
            ::GlobalFree(hMem); 
            return FALSE; 


            memcpy(pDes, pSrc, dwSize); 

            //GlobalUnlock(hGlobal); 
            GlobalUnlock(hMem); 

            ::FreeResource(hGlobal); 

            IStream* pStm = NULL; 
            CreateStreamOnHGlobal(hMem, TRUE, &pStm); 

            if(!SUCCEEDED(OleLoadPicture(pStm,dwSize,TRUE,IID_IPicture,(LPVOID*)&m_pPic))) 

            pStm -> Release(); 
            ::GlobalFree(hMem); 
            pStm = NULL; 
            return FALSE; 


            pStm->Release(); 
            ::GlobalFree(hMem); 

            CalcSize(); 
            return TRUE; 



            BOOL CPicture::LoadPictureFromFile(LPCTSTR lpszFileName) 

            Release(); 

            CFile file; 
            if(!file.Open(lpszFileName, CFile::modeRead)) 
            return FALSE; 

            DWORD dwSize = file.GetLength(); 

            HGLOBAL hMem = ::GlobalAlloc(GMEM_MOVEABLE, dwSize); 
            if(hMem == NULL) return FALSE; 

            LPVOID pDes = ::GlobalLock(hMem); 
            if(pDes == NULL){ 
            ::GlobalFree(hMem); 
            return FALSE; 


            file.ReadHuge(pDes, dwSize); 

            file.Close(); 

            GlobalUnlock(hMem); 

            IStream* pStm = NULL; 
            CreateStreamOnHGlobal(hMem, TRUE, &pStm); 

            if(!SUCCEEDED(OleLoadPicture(pStm,dwSize,TRUE,IID_IPicture,(LPVOID*)&m_pPic))) 

            pStm -> Release(); 
            ::GlobalFree(hMem); 
            pStm = NULL; 
            return FALSE; 


            pStm->Release(); 
            ::GlobalFree(hMem); 

            CalcSize(); 
            return TRUE; 




            void CPicture::CalcSize() 

            if(m_pPic == NULL) return; 

            m_pPic->get_Width(&_w_him); 
            m_pPic->get_Height(&_h_him); 

            CDC* pDC = CWnd::GetDesktopWindow()->GetDC(); 
            m_size.cx = _w_him; 
            m_size.cy = _h_him; 

            pDC->HIMETRICtoDP(&m_size); 

            CWnd::GetDesktopWindow()->ReleaseDC(pDC); 



            void CPicture::Draw(CDC* pDC, LPCRECT lprcDest, LPCRECT lprcSrc) 

            if(m_pPic) 

            CSize szOrig(lprcSrc->left, lprcSrc->top); 
            CSize szSrc(lprcSrc->right - lprcSrc->left, lprcSrc->bottom - lprcSrc->top); 
            pDC->DPtoHIMETRIC(&szOrig); 
            pDC->DPtoHIMETRIC(&szSrc); 

            m_pPic->Render(*pDC, lprcDest->left,lprcDest->top,lprcDest->right-lprcDest->left,
            lprcDest->bottom-lprcDest->top, szOrig.cx, _h_him-szOrig.cy, szSrc.cx, 
            -szSrc.cy, NULL); 



            void CPicture::Draw(CDC* pDC, int xDest,int yDest, int cxDest, int cyDest , 
            int xSrc ,int ySrc ,int cxSrc ,int cySrc) 

            Draw(pDC, CRect(xDest, yDest, xDest+cxDest, yDest+cyDest), CRect(xSrc, ySrc, xSrc+cxSrc, ySrc+cySrc));
            }
            posted on 2013-04-08 23:16 聶文龍 閱讀(1598) 評論(0)  編輯 收藏 引用
            97精品国产97久久久久久免费 | 99久久夜色精品国产网站| 国产精品久久亚洲不卡动漫| 亚洲欧洲久久久精品| 久久国产免费观看精品| 国产一级做a爰片久久毛片| 亚洲精品乱码久久久久久蜜桃不卡 | 99久久人妻无码精品系列| 久久久久人妻一区精品色 | 久久精品桃花综合| 欧美国产成人久久精品| 久久综合狠狠综合久久| 国产美女久久久| 久久99国产综合精品| 久久久精品国产sm调教网站| 久久亚洲国产成人精品性色| 色婷婷综合久久久久中文一区二区 | 91精品国产色综合久久| 国内精品久久久久影院免费| 99久久国产热无码精品免费久久久久| 久久香蕉综合色一综合色88| 久久中文字幕精品| 99久久99久久精品国产片果冻| 亚洲国产精品无码久久久不卡 | 99久久国产综合精品女同图片| 亚洲αv久久久噜噜噜噜噜| 国产精品久久影院| 久久影院亚洲一区| 国产亚州精品女人久久久久久 | 青青热久久国产久精品| 久久精品视屏| 思思久久99热只有频精品66| 亚洲综合日韩久久成人AV| 久久亚洲精品成人av无码网站| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 伊人久久大香线蕉影院95| 亚洲午夜精品久久久久久浪潮| 一本一本久久aa综合精品| 国产午夜电影久久| 久久精品aⅴ无码中文字字幕不卡| 99久久国产综合精品五月天喷水|