vc 加載圖片到指定位置 或加載圖片給面板
2、jpg等用IPicture Com接口,用用OleLoadPicture來加載圖像,比如:
void DisplayImage(HDC hDC, LPCTSTR szImagePath)
{
HANDLE hFile=CreateFile(szImagePath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); //從指定的路徑szImagePath中讀取文件句柄
DWORD dwFileSize=GetFileSize(hFile, NULL); //獲得圖片文件的大小,用來分配全局內存
HGLOBAL hImageMemory=GlobalAlloc(GMEM_MOVEABLE, dwFileSize); //給圖片分配全局內存
void *pImageMemory=GlobalLock(hImageMemory); //鎖定內存
DWORD dwReadedSize; //保存實際讀取的文件大小
ReadFile(hFile, pImageMemory, dwFileSize, &dwReadedSize, NULL); //讀取圖片到全局內存當中
GlobalUnlock(hImageMemory); //解鎖內存
CloseHandle(hFile); //關閉文件句柄
IStream *pIStream;//創建壹個IStream接口指針,用來保存圖片流
IPicture *pIPicture;//創建壹個IPicture接口指針,表示圖片對象
CreateStreamOnHGlobal(hImageMemory, false, &pIStream) //用全局內存初使化IStream接口指針
OleLoadPicture(pIStream, 0, false, IID_IPicture, (LPVOID*)&(pIPicture));//用OleLoadPicture獲得IPicture接口指針
//得到IPicture COM接口對象後,妳就可以進行獲得圖片信息、顯示圖片等操作
OLE_XSIZE_HIMETRIC hmWidth;
OLE_YSIZE_HIMETRIC hmHeight;
pIPicture->get_Width(&hmWidth); //用接口方法獲得圖片的寬和高
pIPicture->get_Height(&hmHeight);
pIPicture->Render(hDC,0,0,100,100,0,hmHeight,hmWidth,-hmHeight,NULL); //在指定的DC上繪出圖片
GlobalFree(hImageMemory); //釋放全局內存
pIStream->Release(); //釋放pIStream
pIPicture->Release(); //釋放pIPicture
}
3、用GDI、GDI+,主要是Bitmap和Graphics了。相對簡單
4、自己下第三方庫,比如CXimage之類的。