vc显示图像.docx
- 文档编号:17244325
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:13
- 大小:16.42KB
vc显示图像.docx
《vc显示图像.docx》由会员分享,可在线阅读,更多相关《vc显示图像.docx(13页珍藏版)》请在冰点文库上搜索。
vc显示图像
ÓùýVCµÄÈ˶¼ÖªµÀVCÔÚͼÏñÏÔʾ·½Ãæ²»ÈçVB·½±ã£¬ÍøÉϽéÉÜÁ˺ܶàʵÏֵķ½·¨£¬ÄÇЩÈß³¤µÄ´úÂëÁîÐí¶à³õѧÕßÍü¶øÈ´²½¡£Îª´Ë£¬±¾È˽«ÏÂÁдúÂë·â×°ÔÚÒ»¸öº¯ÊýÖУ¨ÓкÜÇ¿µÄ¿ÉÒÆÖµÐÔ£©£¬¹©¸÷λ²Î¿¼¡£ÔÚµ÷Óú¯ÊýµÄʱºòÖ»Òª¸ø¶¨Í¼Æ¬µÄÎļþÃû¡¢Êä³ö´°¿ÚµÄHWNDºÍÏÔʾͼƬ´óС£¨ÊÇָʵ¼ÊÏ뽫ͼƬ·Å´ó»òËõСºóµÄ³ß´ç£©¡£
#include
#include
//lpstrFile£ºÎļþÃû£¨×îºÃÊÇ°üº¬Â·¾¶ÔÚÄÚ£©
//hWnd
//nScrWidth£ºÊä³öͼƬµÄ¿í¶È
//nScrHeight£ºÊä³öͼƬµÄ¸ß¶È
//nScrWidth¡¢nScrHeightÊÇÊä³öͼƬµÄʵ¼Ê´óС£¬»»¶øÑÔÖ®ÊÇÖ¸Ëõ·ÅºóµÄ³ß´ç
HRESULTShowPic(char*lpstrFile,HWNDhWnd,intnScrWidth,intnScrHeight)
{
HDChDC_Temp=GetDC(hWnd);
IPicture*pPic;
IStream*pStm;
BOOLbResult;
HANDLEhFile=NULL;
DWORDdwFileSize,dwByteRead;
//´ò¿ªÓ²ÅÌÖеÄͼÐÎÎļþ
hFile=CreateFile(lpstrFile,GENERIC_READ,
FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(hFile!
=INVALID_HANDLE_value)
{
dwFileSize=GetFileSize(hFile,NULL);//»ñÈ¡Îļþ×Ö½ÚÊý
if(dwFileSize==0xFFFFFFFF)
returnE_FAIL;
}
else
{
returnE_FAIL;
}
//·ÖÅäÈ«¾Ö´æ´¢¿Õ¼ä
HGLOBALhGlobal=GlobalAlloc(GMEM_MOVEABLE,dwFileSize);
LPVOIDpvData=NULL;
if(hGlobal==NULL)
returnE_FAIL;
if((pvData=GlobalLock(hGlobal))==NULL)//Ëø¶¨·ÖÅäÄÚ´æ¿é
returnE_FAIL;
ReadFile(hFile,pvData,dwFileSize,&dwByteRead,NULL);//°ÑÎļþ¶ÁÈëÄڴ滺³åÇø
GlobalUnlock(hGlobal);
CreateStreamOnHGlobal(hGlobal,TRUE,&pStm);
//×°ÈëͼÐÎÎļþ
bResult=OleLoadPicture(pStm,dwFileSize,TRUE,IID_IPicture,(LPVOID*)&pPic);
if(FAILED(bResult))
returnE_FAIL;
OLE_XSIZE_HIMETRIChmWidth;//ͼƬµÄÕæʵ¿í¶È
OLE_YSIZE_HIMETRIChmHeight;//ͼƬµÄÕæʵ¸ß¶È
pPic->get_Width(&hmWidth);
pPic->get_Height(&hmHeight);
//½«Í¼ÐÎÊä³öµ½ÆÁÄ»ÉÏ£¨ÓеãÏñBitBlt£©
bResult=pPic->Render(hDC_Temp,0,0,nScrWidth,nScrHeight,
0,hmHeight,hmWidth,-hmHeight,NULL);
pPic->Release();
CloseHandle(hFile);//¹Ø±Õ´ò¿ªµÄÎļþ
if(SUCCEEDED(bResult))
{
returnS_OK;
}
else
{
returnE_FAIL;
}
}
ÒÔÉÏ´úÂëͨ¹ýÁËVC6.0SDKµ÷ÊÔ
ÍøÓѶԸÃÎÄÕµÄÆÀÂÛ
ÍøÓÑ:
ÄäÃû·¢±íÓÚ:
2004-6-914:
10:
49
Ê×Ò³|Ͷ¸å
ÄúµÄλÖãºPCVC.NET>>ƽ̨/ϵͳ>>Console/Win32/SDK/DDK>>ÕýÎÄ
¡¡
ÓÃIPictureÏÔʾͼƬ
2002-12-2313:
17:
02PCVC.NETº£ÃÙÌìÔĶÁ´ÎÊý:
6823
ÓùýVCµÄÈ˶¼ÖªµÀVCÔÚͼÏñÏÔʾ·½Ãæ²»ÈçVB·½±ã£¬ÍøÉϽéÉÜÁ˺ܶàʵÏֵķ½·¨£¬ÄÇЩÈß³¤µÄ´úÂëÁîÐí¶à³õѧÕßÍü¶øÈ´²½¡£Îª´Ë£¬±¾È˽«ÏÂÁдúÂë·â×°ÔÚÒ»¸öº¯ÊýÖУ¨ÓкÜÇ¿µÄ¿ÉÒÆÖµÐÔ£©£¬¹©¸÷λ²Î¿¼¡£ÔÚµ÷Óú¯ÊýµÄʱºòÖ»Òª¸ø¶¨Í¼Æ¬µÄÎļþÃû¡¢Êä³ö´°¿ÚµÄHWNDºÍÏÔʾͼƬ´óС£¨ÊÇָʵ¼ÊÏ뽫ͼƬ·Å´ó»òËõСºóµÄ³ß´ç£©¡£
#include
#include
//lpstrFile£ºÎļþÃû£¨×îºÃÊÇ°üº¬Â·¾¶ÔÚÄÚ£©
//hWnd
//nScrWidth£ºÊä³öͼƬµÄ¿í¶È
//nScrHeight£ºÊä³öͼƬµÄ¸ß¶È
//nScrWidth¡¢nScrHeightÊÇÊä³öͼƬµÄʵ¼Ê´óС£¬»»¶øÑÔÖ®ÊÇÖ¸Ëõ·ÅºóµÄ³ß´ç
HRESULTShowPic(char*lpstrFile,HWNDhWnd,intnScrWidth,intnScrHeight)
{
HDChDC_Temp=GetDC(hWnd);
IPicture*pPic;
IStream*pStm;
BOOLbResult;
HANDLEhFile=NULL;
DWORDdwFileSize,dwByteRead;
//´ò¿ªÓ²ÅÌÖеÄͼÐÎÎļþ
hFile=CreateFile(lpstrFile,GENERIC_READ,
FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(hFile!
=INVALID_HANDLE_value)
{
dwFileSize=GetFileSize(hFile,NULL);//»ñÈ¡Îļþ×Ö½ÚÊý
if(dwFileSize==0xFFFFFFFF)
returnE_FAIL;
}
else
{
returnE_FAIL;
}
//·ÖÅäÈ«¾Ö´æ´¢¿Õ¼ä
HGLOBALhGlobal=GlobalAlloc(GMEM_MOVEABLE,dwFileSize);
LPVOIDpvData=NULL;
if(hGlobal==NULL)
returnE_FAIL;
if((pvData=GlobalLock(hGlobal))==NULL)//Ëø¶¨·ÖÅäÄÚ´æ¿é
returnE_FAIL;
ReadFile(hFile,pvData,dwFileSize,&dwByteRead,NULL);//°ÑÎļþ¶ÁÈëÄڴ滺³åÇø
GlobalUnlock(hGlobal);
CreateStreamOnHGlobal(hGlobal,TRUE,&pStm);
//×°ÈëͼÐÎÎļþ
bResult=OleLoadPicture(pStm,dwFileSize,TRUE,IID_IPicture,(LPVOID*)&pPic);
if(FAILED(bResult))
returnE_FAIL;
OLE_XSIZE_HIMETRIChmWidth;//ͼƬµÄÕæʵ¿í¶È
OLE_YSIZE_HIMETRIChmHeight;//ͼƬµÄÕæʵ¸ß¶È
pPic->get_Width(&hmWidth);
pPic->get_Height(&hmHeight);
//½«Í¼ÐÎÊä³öµ½ÆÁÄ»ÉÏ£¨ÓеãÏñBitBlt£©
bResult=pPic->Render(hDC_Temp,0,0,nScrWidth,nScrHeight,
0,hmHeight,hmWidth,-hmHeight,NULL);
pPic->Release();
CloseHandle(hFile);//¹Ø±Õ´ò¿ªµÄÎļþ
if(SUCCEEDED(bResult))
{
returnS_OK;
}
else
{
returnE_FAIL;
}
}
ÒÔÉÏ´úÂëͨ¹ýÁËVC6.0SDKµ÷ÊÔ
ÍøÓѶԸÃÎÄÕµÄÆÀÂÛ
ÍøÓÑ:
iam863(seeyoufuture@)·¢±íÓÚ:
2004-4-239:
32:
22
IID_IPictureʲôÒâ˼£¿
ÍøÓÑ:
ÄäÃû·¢±íÓÚ:
2004-3-1217:
07:
38
Èç¹ûÓÃÕâÖÖ·½·¨°ÑͼÏñÏÔʾÔÚÆÁÄ»ÉϺó,Ïë°ÑÎļþÁí´æΪÁíÍâÒ»¸öÃû×Ö,¸ÃÔõôʵÏÖÄØ?
ÍøÓÑ:
chu_f(chu_f@)·¢±íÓÚ:
2003-5-2823:
14:
09
Çë½Ìһϣ¬ÊDz»ÊÇÖ±½Ó¼ÓÒ»¸öº¯Êý¾Í¿ÉÒÔÁË£¿
Äܲ»ÄÜÏÔʾ*.gifͼƬÄØ£¿
ÓÐËÖªµÀÄܲ»ÄÜ°ïæһÏ£¬ºÜ¼±¡£ÏÈллÁË¡£
ÍøÓÑ:
you(newluoyong@)·¢±íÓÚ:
2003-5-138:
19:
19
ÓÃIPictureÏÔʾͼƬ
2002-12-2313:
17:
02PCVC.NETº£ÃÙÌìÔĶÁ´ÎÊý:
2704
ÓùýVCµÄÈ˶¼ÖªµÀVCÔÚͼÏñÏÔʾ·½Ãæ²»ÈçVB·½±ã£¬ÍøÉϽéÉÜÁ˺ܶàʵÏֵķ½·¨£¬ÄÇЩÈß³¤µÄ´úÂëÁîÐí¶à³õѧÕßÍü¶øÈ´²½¡£Îª´Ë£¬±¾È˽«ÏÂÁдúÂë·â×°ÔÚÒ»¸öº¯ÊýÖУ¨ÓкÜÇ¿µÄ¿ÉÒÆÖµÐÔ£©£¬¹©¸÷λ²Î¿¼¡£ÔÚµ÷Óú¯ÊýµÄʱºòÖ»Òª¸ø¶¨Í¼Æ¬µÄÎļþÃû¡¢Êä³ö´°¿ÚµÄHWNDºÍÏÔʾͼƬ´óС£¨ÊÇָʵ¼ÊÏ뽫ͼƬ·Å´ó»òËõСºóµÄ³ß´ç£©¡£
#include
#include
//lpstrFile£ºÎļþÃû£¨×îºÃÊÇ°üº¬Â·¾¶ÔÚÄÚ£©
//hWnd
//nScrWidth£ºÊä³öͼƬµÄ¿í¶È
//nScrHeight£ºÊä³öͼƬµÄ¸ß¶È
//nScrWidth¡¢nScrHeightÊÇÊä³öͼƬµÄʵ¼Ê´óС£¬»»¶øÑÔÖ®ÊÇÖ¸Ëõ·ÅºóµÄ³ß´ç
HRESULTShowPic(char*lpstrFile,HWNDhWnd,intnScrWidth,intnScrHeight)
{
HDChDC_Temp=GetDC(hWnd);
IPicture*pPic;
IStream*pStm;
BOOLbResult;
HANDLEhFile=NULL;
DWORDdwFileSize,dwByteRead;
//´ò¿ªÓ²ÅÌÖеÄͼÐÎÎļþ
hFile=CreateFile(lpstrFile,GENERIC_READ,
FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(hFile!
=INVALID_HANDLE_value)
{
dwFileSize=GetFileSize(hFile,NULL);//»ñÈ¡Îļþ×Ö½ÚÊýif(dwFileSize==0xFFFFFFFF)
returnE_FAIL;
}
else
{
returnE_FAIL;
}
//·ÖÅäÈ«¾Ö´æ´¢¿Õ¼ä
HGLOBALhGlobal=GlobalAlloc(GMEM_MOVEABLE,dwFileSize);
LPVOIDpvData=NULL;
if(hGlobal==NULL)
returnE_FAIL;
if((pvData=GlobalLock(hGlobal))==NULL)//Ëø¶¨·ÖÅäÄÚ´æ¿é
returnE_FAIL;
ReadFile(hFile,pvData,dwFileSize,&dwByteRead,NULL);//°ÑÎļþ¶ÁÈëÄڴ滺³åÇø
GlobalUnlock(hGlobal);
CreateStreamOnHGlobal(hGlobal,TRUE,&pStm);
//×°ÈëͼÐÎÎļþ
bResult=OleLoadPicture(pStm,dwFileSize,TRUE,IID_IPicture,(LPVOID*)&pPic);
if(FAILED(bResult))
returnE_FAIL;
OLE_XSIZE_HIMETRIChmWidth;//ͼƬµÄÕæʵ¿í¶È
OLE_YSIZE_HIMETRIChmHeight;//ͼƬµÄÕæʵ¸ß¶È
pPic->get_Width(&hmWidth);
pPic->get_Height(&hmHeight);
//½«Í¼ÐÎÊä³öµ½ÆÁÄ»ÉÏ£¨ÓеãÏñBitBlt£©
bResult=pPic->Render(hDC_Temp,0,0,nScrWidth,nScrHeight,
0,hmHeight,hmWidth,-hmHeight,NULL);
pPic->Release();
CloseHandle(hFile);//¹Ø±Õ´ò¿ªµÄÎļþ
if(SUCCEEDED(bResult))
{
returnS_OK;
}
else
{
returnE_FAIL;
}
}
ÒÔÉÏ´úÂëͨ¹ýÁËVC6.0SDKµ÷ÊÔ
ÍøÓѶԸÃÎÄÕµÄÆÀÂÛ
ÍøÓÑ:
bcfy(coolwind1977@)·¢±íÓÚ:
2003-2-189:
43:
10
ÔõôͼÏóÏÔʾ²»³öÀ´£¡
ÍøÓÑ:
Awing(awinghuang@)·¢±íÓÚ:
2003-2-1221:
54:
51
Ò»¸öÓ¢ÎÄ°æµÄÓ¦ÓóÌʽ£¨POWERPCB£©£¬ÊÇÓÃÀ´Éè¼ÆÏß·°åµÄ£»ÎÒÏëÔÚÆä´°¿ÚÖзŽøÖÐÎÄ£¬Ò²¾ÍÊÇÔÚÏß·°åÉÏ·ÅÖÐÎÄ£»ÇëÎÊÓÃVC++ÈçºÎʵÏÖ£¿
ÓÃcÓïÑÔÓкܶà°ì·¨£¬µ«¶¼ÊÇÔÚDOSϵġ£ÇëÖ¸µã¡£
ÁíÍ⣬ºº»¯²Ëµ¥ÊÇÔõÑùʵÏֵģ¿
²ËÄñAwing.
ÍøÓÑ:
Martin(martin.gong@.hk)·¢±íÓÚ:
2003-1-279:
10:
37
Ihaveaquestionforyourhelp,thanks!
IwantdisplayimageuseipicturebyabytestreamnotafileanduseinVB,howcanirealize?
ÍøÓÑ:
norsd·¢±íÓÚ:
2003-1-2016:
59:
16
GDI+
ÍøÓÑ:
SEABLUES·¢±íÓÚ:
2002-12-2421:
30:
24
°ÑËü·â×°³ÉÀàCPicture±È½ÏºÃÓÃ.
#include
#include
//lpstrFile£ºÎļþÃû£¨×îºÃÊÇ°üº¬Â·¾¶ÔÚÄÚ£©
//hWnd
//nScrWidth£ºÊä³öͼƬµÄ¿í¶È
//nScrHeight£ºÊä³öͼƬµÄ¸ß¶È
//nScrWidth¡¢nScrHeightÊÇÊä³öͼƬµÄʵ¼Ê´óС£¬»»¶øÑÔÖ®ÊÇÖ¸Ëõ·ÅºóµÄ³ß´ç
HRESULTShowPic(char*lpstrFile,HWNDhWnd,intnScrWidth,intnScrHeight)
{
HDChDC_Temp=GetDC(hWnd);
IPicture*pPic;
IStream*pStm;
BOOLbResult;
HANDLEhFile=NULL;
DWORDdwFileSize,dwByteRead;
//´ò¿ªÓ²ÅÌÖеÄͼÐÎÎļþ
hFile=CreateFile(lpstrFile,GENERIC_READ,
FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(hFile!
=INVALID_HANDLE_value)
{
dwFileSize=GetFileSize(hFile,NULL);//»ñÈ¡Îļþ×Ö½ÚÊý
if(dwFileSize==0xFFFFFFFF)
returnE_FAIL;
}
else
{
returnE_FAIL;
}
//·ÖÅäÈ«¾Ö´æ´¢¿Õ¼ä
HGLOBALhGlobal=GlobalAlloc(GMEM_MOVEABLE,dwFileSize);
LPVOIDpvData=NULL;
if(hGlobal==NULL)
returnE_FAIL;
if((pvData=GlobalLock(hGlobal))==NULL)//Ëø¶¨·ÖÅäÄÚ´æ¿é
returnE_FAIL;
ReadFile(hFile,pvData,dwFileSize,&dwByteRead,NULL);//°ÑÎļþ¶ÁÈëÄڴ滺³åÇø
GlobalUnlock(hGlobal);
CreateStreamOnHGlobal(hGlobal,TRUE,&pStm);
//×°ÈëͼÐÎÎļþ
bResult=OleLoadPicture(pStm,dwFileSize,TRUE,IID_IPicture,(LPVOID*)&pPic);
if(FAILED(bResult))
returnE_FAIL;
OLE_XSIZE_HIMETRIChmWidth;//ͼƬµÄÕæʵ¿í¶È
OLE_YSIZE_HIMETRIChmHeight;//ͼƬµÄÕæʵ¸ß¶È
pPic->get_Width(&hmWidth);
pPic->get_Height(&hmHeight);
//½«Í¼ÐÎÊä³öµ½ÆÁÄ»ÉÏ£¨ÓеãÏñBitBlt£©
bResult=pPic->Render(hDC_Temp,0,0,nScrWidth,nScrHeight,
0,hmHeight,hmWidth,-hmHeight,NULL);
pPic->Release();
CloseHandle(hFile);//¹Ø±Õ´ò¿ªµÄÎļþ
if(SUCCEEDED(bResult))
{
returnS_OK;
}
else
{
returnE_FAIL;
}
}
ÒÔÉÏ´úÂëͨ¹ýÁËVC6.0SDKµ÷ÊÔ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vc 显示 图像