|
贴段代码大家帮看一下:
HBITMAP CreateThumbnail(const CString &strFileName)
{
IImagingFactory *pImgFactory = NULL;
IImage *pImage = NULL;
CoInitializeEx(NULL, COINIT_MULTITHREADED);
HBITMAP hResult = 0;
if (SUCCEEDED(CoCreateInstance (CLSID_ImagingFactory,
NULL,
CLSCTX_INPROC_SERVER,
IID_IImagingFactory,
(void **)&pImgFactory)))
{
int width = 150;
int height = 107;
if (SUCCEEDED(pImgFactory->CreateImageFromFile(strFileName, &pImage)))
{
CWindowDC dc(0);
CDC dcBitmap;
dcBitmap.CreateCompatibleDC(&dc);
hResult = CreateCompatibleBitmap(dc.GetSafeHdc(), width, height);
if (hResult) {
HGDIOBJ hOldBitmap = dcBitmap.SelectObject(hResult);
pImage->GetThumbnail(width,height,&pImage);
// pImage->Draw(dcBitmap.GetSafeHdc(), CRect(0, 0, width, height), NULL);
dcBitmap.SelectObject(hOldBitmap);
}
pImage->Release();
}
pImgFactory->Release();
}
CoUninitialize();
return hResult;
}
将这段代码加到程序中会出现下面的错误:
1: 'IImagingFactory' : undeclared identifier
2: 'pImgFactory' : undeclared identifier
3: '=' : left operand must be l-value
我觉得就是没有使用IImage的缘故,但是怎么使用呢?怎么加到工程中呢?
谢谢各位了!!!
|
|