DC에 텍스트 출력하고 그 DC의 비트맵을 파일로 저장하려 했습니다만....

mydream의 이미지

int GetClsid(const wchar_t* format, CLSID* Clsid) {
	UINT num, size;
	GetImageEncodersSize(&num, &size);
	ImageCodecInfo* pImgCodecsInfo=(ImageCodecInfo*)malloc(size);
 
	GetImageEncoders(num, size, pImgCodecsInfo);
	for(UINT i=0;i<num;++i) {
		if(  wcscmp(format, pImgCodecsInfo[i].MimeType)==0 ) {
			*Clsid=pImgCodecsInfo[i].Clsid;
			free(pImgCodecsInfo);
			return i;
		}
	}
	free(pImgCodecsInfo);
	return -1;
}
 
 
case WM_PAINT:
{
	PAINTSTRUCT pst;
	HDC mainHdc=BeginPaint(hwnd, &pst);
	RECT rt;
	GetClientRect(hwnd, &rt);
TextOut(mainHdc, 0, 0, _T("rrrrgggg"), _tcslen(_T("rrrrgggg")) );
 
	HDC hMemDC=CreateCompatibleDC(mainHdc);
	HBITMAP hbitmap=CreateCompatibleBitmap(hMemDC, rt.right, rt.bottom);
	HBITMAP hBackupBitmap=(HBITMAP)SelectObject(hMemDC, hbitmap);
	BitBlt(hMemDC, 0, 0, rt.right, rt.bottom, mainHdc, 0, 0, SRCCOPY);
 
	SelectObject(hMemDC, hBackupBitmap);
 
	HPALETTE hpalette=(HPALETTE)GetStockObject(DEFAULT_PALETTE);
	Bitmap bitmap(hbitmap, hpalette);
	CLSID Clsid;
	GetClsid(L"image/jpeg", &Clsid);
	bitmap.Save(L"test193jp", &Clsid);//저장이 안됩니다.  앞에서는 핸들이 모두 유효하게 나오고요.  도대체 무엇이 문제이길래 저장이 안되나요.  저장하는 방법 없을까요?
 
 
 
	DeleteObject(hbitmap);
	DeleteDC(hMemDC);
 
	EndPaint(hwnd, &pst);
}
return 0;
mydream의 이미지

라이브러리 문제였습니다. 문제가 해결되서 다행입니다.