青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 298  文章 - 377  trackbacks - 0
<2007年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用鏈接

留言簿(34)

隨筆分類

隨筆檔案

文章檔案

相冊(cè)

收藏夾

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

1、IPicture接口對(duì)象的創(chuàng)建
         方法1:直接通過(guò)文件創(chuàng)建

LPCSTR szFileUrl;
 IPicture *pIPicture;
 OleLoadPicturePath(CComBSTR(szFileUrl), 
   (LPUNKNOWN)NULL, 
   0, 
   0, 
   IID_IPicture,
   (LPVOID*)&pIPicture))
        方法2:通過(guò)IStream來(lái)創(chuàng)建
 // 加載電子地圖
 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);// 開(kāi)辟大內(nèi)存
  if(hGlobal != NULL)
  {
   LPVOID pvData = NULL;
   pvData = GlobalLock(hGlobal);
   if(pvData != NULL)
   { 
    file.ReadHuge(pvData, lFileSize);   // 將圖片數(shù)據(jù)保存在內(nèi)存中
    GlobalUnlock(hGlobal);
    CreateStreamOnHGlobal(hGlobal, TRUE, &m_pIStream);  // 創(chuàng)建流
    file.Close();
   }
   else
   {
    GlobalFree(hGlobal);
    return;
   }
  }
  else
  {
   file.Close();
   return;
  }
 }
 else
 {
  //打開(kāi)圖片失敗
  return;
 }
 OleLoadPicture(m_pIStream, fstatus.m_size, TRUE, IID_IPicture, (LPVOID*)&m_pIPicture);
 GlobalFree(hGlobal);

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

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


4、將IPicture中的圖片保存起來(lái)
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中圖片按規(guī)定的尺寸保存
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;
}

 
下面是有關(guān) IPicture 的方法描述:

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

IPicture接口管理一個(gè)圖片對(duì)象和它的屬性。圖片對(duì)象提供對(duì)Bitmap Icon Metafile的語(yǔ)言不相關(guān)的抽象支持。圖像對(duì)象的主要接口是IPicture和IPictureDisp。IPictureDisp從IDispatch繼承,提供了通過(guò)自動(dòng)化訪問(wèn)圖片屬性的能力。圖片對(duì)象可通過(guò)OleCreatePictureIndirect創(chuàng)建。關(guān)于IPicture支持的其他接口和方法可以看MSDN,一般創(chuàng)建圖片對(duì)象可以用OleLoadPicture函數(shù),它簡(jiǎn)化了基于流內(nèi)容創(chuàng)建圖片對(duì)象。

IPicture接口管理一個(gè)圖片對(duì)象和它的屬性。圖片對(duì)象提供對(duì)Bitmap Icon Metafile的語(yǔ)言不相關(guān)的抽象支持。圖像對(duì)象的主要接口是IPicture和IPictureDisp。IPictureDisp從IDispatch繼承,提供了通過(guò)自動(dòng)化訪問(wèn)圖片屬性的能力。圖片對(duì)象可通過(guò)OleCreatePictureIndirect創(chuàng)建。關(guān)于IPicture支持的其他接口和方法可以看MSDN,一般創(chuàng)建圖片對(duì)象可以用OleLoadPicture函數(shù),它簡(jiǎn)化了基于流內(nèi)容創(chuàng)建圖片對(duì)象。下面的代碼中有兩個(gè)未定義的變量是FilePath和hDC。
//FilePath是從外部傳入的圖片路徑
//打開(kāi)文件
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;
//分配內(nèi)存,準(zhǔn)備讀入圖片文件的數(shù)據(jù)
//GlobalAlloc從堆分配指定字節(jié)的內(nèi)存區(qū)域
HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, dwFileSize);
_ASSERTE(NULL != hGlobal);
//GlobalLock函數(shù)鎖住一個(gè)全局的內(nèi)存對(duì)象同時(shí)返回一個(gè)指向?qū)ο笫鬃止?jié)的指針
pvData = GlobalLock(hGlobal);
_ASSERTE(NULL != pvData);
DWORD dwBytesRead = 0;
//讀取文件的數(shù)據(jù)到分配的全局內(nèi)存
BOOL bRead = ReadFile(hFile, pvData, dwFileSize, &dwBytesRead, NULL);
_ASSERTE(FALSE != bRead);
GlobalUnlock(hGlobal);
CloseHandle(hFile);

//到此,我們已經(jīng)把文件的數(shù)據(jù)讀到了內(nèi)存當(dāng)中

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

//至此,IPicture接口建立好,下面開(kāi)始畫(huà)圖片
//hDC是外部傳入的畫(huà)圖設(shè)備
long hmWidth;
long hmHeight;
gpPicture->get_Width(&hmWidth);
gpPicture->get_Height(&hmHeight);
//轉(zhuǎn)換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++如何調(diào)用圖片
有很多辦法 ,比如用IPicture,用CBitmap //MFC,更直接的是,用File進(jìn)行文件操作,用BitBlt顯示,具體代碼你用以上關(guān)鍵字Google下 
這里給你推薦幾個(gè),末尾給你附一個(gè)網(wǎng)上可以找到的CPicture類(需MFC支持): 
-------IPicture 
// pDoc為文檔對(duì)象指針 
// pDC為設(shè)備描述表指針 

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

file.Open(pDoc->GetPathName(), CFile::modeRead | CFile::shareDenyNone ); // 讀入文件內(nèi)容
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,參數(shù) TRUE 表示釋放 IStream 的同時(shí),釋放內(nèi)存 
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 ); // 轉(zhuǎn)換 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; 
*/ 

// 自動(dòng)適應(yīng)窗口 
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 指針,同時(shí)釋放了 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("導(dǎo)入背景圖失敗!","提示",MB_OK); 
return; 


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

附CPicture(引用自網(wǎng)上) 

// 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 聶文龍 閱讀(1604) 評(píng)論(0)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            99精品黄色片免费大全| 亚洲在线第一页| 一区二区激情| 日韩午夜免费视频| 日韩亚洲国产精品| 亚洲作爱视频| 午夜久久久久久久久久一区二区| 久久国内精品视频| 久久国产福利| 欧美大片免费久久精品三p| 欧美二区在线播放| 欧美午夜久久| 国产精品草莓在线免费观看| 国产日本精品| 亚洲精品免费电影| 亚洲免费一级电影| 久久精品日产第一区二区三区 | 夜夜夜久久久| 午夜精品一区二区三区在线视 | 国产精品99久久久久久www| 亚洲欧美综合精品久久成人| 久久性天堂网| 国产精品第十页| 亚洲成人在线视频播放| 一区二区三区产品免费精品久久75| 午夜精品久久| 亚洲高清不卡| 亚洲精品一区二区三区蜜桃久| 亚洲欧美综合网| 欧美激情亚洲自拍| 激情小说亚洲一区| 销魂美女一区二区三区视频在线| 免费在线国产精品| 亚洲男女自偷自拍图片另类| 欧美大片免费久久精品三p| 国产一区二区三区精品久久久 | 欧美日韩国产在线看| 国产一级揄自揄精品视频| 亚洲精品乱码久久久久久| 久久精品99久久香蕉国产色戒| 亚洲人成7777| 久久国产欧美精品| 国产精品热久久久久夜色精品三区| 亚洲国产99| 久久久亚洲一区| 亚洲自拍偷拍网址| 国产精品久久久久久影院8一贰佰| 亚洲国产一区二区精品专区| 亚洲专区在线视频| 亚洲精品一区二区在线观看| 裸体丰满少妇做受久久99精品| 国产欧美日韩伦理| 午夜精品久久久久久久| 中日韩美女免费视频网址在线观看 | 国产精品欧美日韩| 国产精品99久久久久久久久| 亚洲国产欧美久久| 久久久精彩视频| 先锋亚洲精品| 国产日韩欧美麻豆| 久久精品99国产精品| 亚洲综合第一| 国产精品久久九九| 亚洲五月六月| 亚洲视频欧美视频| 国产精品swag| 欧美一级大片在线观看| 亚洲午夜精品久久久久久浪潮 | 欧美日本免费一区二区三区| 亚洲欧洲综合| 亚洲精品国产精品国自产在线| 欧美a一区二区| 99热免费精品在线观看| 一区二区久久久久久| 国产精品久久中文| 欧美在线资源| 久久午夜羞羞影院免费观看| 在线看片欧美| 亚洲高清中文字幕| 欧美丝袜第一区| 欧美在线网址| 久久伊人精品天天| 一区二区三区高清视频在线观看| 中文精品99久久国产香蕉| 国产精品一区二区女厕厕| 欧美在线观看网址综合| 久久免费99精品久久久久久| 日韩午夜激情av| 欧美亚洲网站| 亚洲精品视频在线观看网站| 一本色道久久综合| 国内精品久久久久影院 日本资源| 蜜桃av久久久亚洲精品| 欧美日韩国产综合新一区| 欧美在线亚洲综合一区| 六月婷婷久久| 午夜在线观看免费一区| 麻豆九一精品爱看视频在线观看免费| 亚洲精品一区二区三| 亚洲伊人色欲综合网| 在线日韩av永久免费观看| 一卡二卡3卡四卡高清精品视频| 国产亚洲午夜| 亚洲片区在线| 国产午夜精品视频免费不卡69堂| 欧美激情精品久久久久久蜜臀| 国产精品日日摸夜夜摸av| 欧美激情一区二区三区全黄| 国产精品久久久久久久久久久久久| 欧美亚洲综合另类| 欧美激情久久久久久| 久久久999精品视频| 欧美午夜精品电影| 亚洲国产99| 亚洲第一成人在线| 欧美在线播放一区| 午夜精品福利电影| 欧美日韩在线直播| 亚洲人成小说网站色在线| 久久久久久久久蜜桃| 亚洲免费视频成人| 欧美日韩播放| 亚洲国产精品一区二区第四页av| 国产九九视频一区二区三区| 99re6热只有精品免费观看| 亚洲国产日韩美| 久久久久久999| 久久深夜福利| 韩国av一区二区三区四区| 亚洲欧美激情四射在线日 | 亚洲一区二区三区在线播放| 欧美激情视频一区二区三区在线播放 | 国内精品视频在线播放| 亚洲免费在线看| 午夜精品区一区二区三| 欧美三区美女| 日韩一级二级三级| 亚洲视频在线一区| 欧美视频久久| 国产精品99久久久久久久女警| 在线一区观看| 国产精品久久久久毛片软件 | 欧美一级黄色网| 国产精品网站在线观看| 午夜视频久久久久久| 久久精品中文字幕一区二区三区| 国产欧美日韩中文字幕在线| 午夜视黄欧洲亚洲| 蜜臀久久99精品久久久久久9| 在线成人免费观看| 欧美第十八页| 洋洋av久久久久久久一区| 亚洲天堂成人在线视频| 国产精品二区在线观看| 午夜视黄欧洲亚洲| 欧美va天堂在线| 一片黄亚洲嫩模| 国产精品尤物福利片在线观看| 性8sex亚洲区入口| 欧美成人午夜激情| 亚洲网站在线| 国内精品久久久久国产盗摄免费观看完整版 | 亚洲一区二区三区高清不卡| 国产精品日本精品| 久久精品国亚洲| 亚洲精品国产无天堂网2021| 亚洲视频在线观看三级| 国产亚洲精品7777| 免费欧美电影| 亚洲资源在线观看| 美女视频黄a大片欧美| 最近中文字幕mv在线一区二区三区四区 | 国产一区久久久| 亚洲国产视频直播| 性久久久久久久| 亚洲人成小说网站色在线| 国产精品分类| 欧美www视频在线观看| 亚洲欧美999| 亚洲第一区色| 欧美在线观看天堂一区二区三区| 亚洲高清视频一区| 国产精品日韩精品| 免费在线观看成人av| 午夜日韩福利| 99香蕉国产精品偷在线观看| 美国成人直播| 小黄鸭视频精品导航| 亚洲人成在线播放网站岛国| 国产午夜精品全部视频在线播放| 欧美日韩国产综合新一区| 久久欧美中文字幕| 性色一区二区| 亚洲在线观看免费| 日韩小视频在线观看专区| 欧美成人69av| 久热精品视频在线| 久久九九99视频| 欧美亚洲免费高清在线观看| 在线亚洲免费|