色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何用c語(yǔ)言使得控制臺(tái)插入圖片,運(yùn)行的程序在圖片上顯示?

C語(yǔ)言寫控制臺(tái)程序是無(wú)法加圖片的,只能用命令行輸出,最多就是設(shè)置下背景和字體,顏色之類的。如果開(kāi)發(fā)API窗口程序,完全依賴于操作系統(tǒng)的函數(shù)庫(kù)。C語(yǔ)言本身并不提供這類函數(shù)。

下面是windows系統(tǒng)下實(shí)現(xiàn)的函數(shù)代碼,第一個(gè)參數(shù)是圖片的存放的位置,第二個(gè)參數(shù)是窗口句柄。

HRESULTShowPic(char*lpstrFile,HWNDhWnd)

{

HDChDC_Temp=GetDC(hWnd);

IPicture*pPic;

IStream*pStm;

BOOLbResult;

HANDLEhFile=NULL;

DWORDdwFileSize,dwByteRead;

//打開(kāi)圖形文件

hFile=CreateFile(lpstrFile,GENERIC_READ,

FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);

if(hFile!=INVALID_HANDLE_VALUE)

{

dwFileSize=GetFileSize(hFile,NULL);//獲取文件字節(jié)數(shù)

if(dwFileSize==0xFFFFFFFF)

returnE_FAIL;

}

else

{

returnE_FAIL;

}

//分配全局存儲(chǔ)空間

HGLOBALhGlobal=GlobalAlloc(GMEM_MOVEABLE,dwFileSize);

LPVOIDpvData=NULL;

if(hGlobal==NULL)

returnE_FAIL;

if((pvData=GlobalLock(hGlobal))==NULL)//鎖定分配內(nèi)存塊

returnE_FAIL;

ReadFile(hFile,pvData,dwFileSize,&dwByteRead,NULL);//把文件讀入內(nèi)存緩沖區(qū)

GlobalUnlock(hGlobal);

CreateStreamOnHGlobal(hGlobal,TRUE,&pStm);

//裝入圖形文件

bResult=OleLoadPicture(pStm,dwFileSize,TRUE,IID_IPicture,(LPVOID*)&pPic);

if(FAILED(bResult))

returnE_FAIL;

OLE_XSIZE_HIMETRIChmWidth;//圖片的真實(shí)寬度,單位為英寸

OLE_YSIZE_HIMETRIChmHeight;//圖片的真實(shí)高度,單位為英寸

pPic->get_Width(&hmWidth);

pPic->get_Height(&hmHeight);

//轉(zhuǎn)換hmWidth和hmHeight為pixels距離,1英寸=25.4毫米

intnWidth=MulDiv(hmWidth,GetDeviceCaps(hDC_Temp,LOGPIXELSX),2540);

intnHeight=MulDiv(hmHeight,GetDeviceCaps(hDC_Temp,LOGPIXELSY),2540);

//將圖形輸出到屏幕上(有點(diǎn)像BitBlt)

bResult=pPic->Render(hDC_Temp,0,0,nWidth,nHeight,0,hmHeight,hmWidth,-hmHeight,NULL);

hmHeight,NULL);

pPic->Release();

CloseHandle(hFile);//關(guān)閉打開(kāi)的文件

if(SUCCEEDED(bResult))

{

returnS_OK;

}

else

{

returnE_FAIL;

}

}