BOOL DrawPic(HDC hdc, TCHAR* lpstrFile, HWND hWnd, int nScrWidth, int nScrHeight)
{
IPicture* pPic = NULL;
IStream* pStm = NULL;
BOOL bResult = FALSE;
HANDLE hFile = NULL;
DWORD dwFileSize = 0;
DWORD dwByteRead = 0;
//打开硬盘中的图形文件
hFile = CreateFile(lpstrFile, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (INVALID_HANDLE_VALUE != hFile)
{
//获取文件字节数
dwFileSize=GetFileSize(hFile, NULL);
if (0xFFFFFFFF == dwFileSize)
{
return E_FAIL;
}
else
{
return E_FAIL;
}
//分配全局存储空间
HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, dwFileSize);
LPVOID pvData = NULL;
if (NULL == hGlobal)
{
return E_FAIL;
}
//锁定分配内存块
pvData = GlobalLock(hGlobal);
if (NULL == pvData)
{
return E_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))
{
return E_FAIL;
}
OLE_XSIZE_HIMETRIC hmWidth;//图片的真实宽度
OLE_YSIZE_HIMETRIC hmHeight;//图片的真实高度
pPic-> get_Width(&hmWidth);
pPic-> get_Height(&hmHeight);
//将图形输出到屏幕上(有点像BitBlt)
bResult = pPic-> Render(hdc, 0, 0, nScrHeight, nScrWidth, 0, hmHeight, hmWidth, -hmHeight, NULL);
pPic-> Release();
//关闭打开的文件
CloseHandle(hFile);
if (SUCCEEDED(bResult))
{
return S_OK;
}
else
{
return E_FAIL;
}
}
}
分享到:
相关推荐
VC 画图程序 MFC应用VC 画图程序 MFC应用VC 画图程序 MFC应用VC 画图程序 MFC应用VC 画图程序 MFC应用VC 画图程序 MFC应用VC 画图程序 MFC应用
vc画图和vc图片的全面操作方法和函数介绍及举例.通过此文档,学者可以方便的掌握vc绘图方面的专业技能。从此vc绘图不再是难题。
VC画图软件的开发,软件名叫制图精灵,从界面看上去似乎不错,可以划线,设置线形、线条颜色、线宽、填充色等等。
VC画图,有直线有画笔,可以改变颜色等 VC画图,有直线有画笔,可以改变颜色等
使用VC创建画图工具,适合触及学者和学生学习
一个简单的VC画图程序,在CXXView的OnDraw()里画一个篮球场,展示了一个VC的画图功能
VC画图程序,实现Windows的画图程序大多数功能,以及Word的部分功能,可以保存成矢量图,编辑,删除,移动,使用CRectTracker实现选择等功能,以及导出为BMP文件等功能。压缩包内有程序文档
Vc画图程序源代码,功能很不错的一个小软件
附带有详细的文档提示每一个步骤,里面的Debug文件夹中的exe文件在装有VC++的机器上可以直接运行。
vc 画图实时曲线源代码vc 画图实时曲线源代码vc 画图实时曲线源代码vc 画图实时曲线源代码
vc画图程序,画直方图,有详细的说明,适合vc初学者
超牛,比windows还强,欢迎下载,真的不错哦,还有文档全部说明。
vc画图程序,功能很全,很好用的,这个代码写的比较规范,很适合初学者的学习
VC++使用API函数实现的画图程序源码
一个利用VC开发的简单的画图程序
VC画图源代码.rar
VC画图程序,几种基本图形的绘制,有直线,曲线,矩形,椭圆。以及实现保存功能。 只供学习用。
c语言的画图程序,简单的例子,适合初学者。
VC画图的软件开发,有一点用处的,基于VC++ MFC的