#include <gdiplus.h>
"image/bmp",
"image/jpeg",
"image/png",
"image/gif"
using namespace Gdiplus;
saveImage
{
CLSID pngClsid;
GetFormatClsid("image/jpeg", &pngClsid);
HPALETTE hpal;
///팔레트 설정
hpal = (HPALETTE)GetStockObject(DEFAULT_PALETTE);
Bitmap bitmap(hbitmap,hpal);
/// image 저장
Gdiplus::Status status = bitmap.Save(path, &pngClsid, NULL);
}
/// 저장 데이터의 format 설정
int GetFormatClsid(const WCHAR* format, CLSID* pClsid)
{
UINT unImageNumber = 0;
UINT unImageSize = 0;
ImageCodecInfo* pImageCodecInfo = NULL;
/// Image 크기
GetImageEncodersSize(&unImageNumber, &unImageSize);
if(unImageSize == 0)
return -1;
/// Image 속성
pImageCodecInfo = (ImageCodecInfo*)(malloc(unImageSize));
if(pImageCodecInfo == NULL)
return -1;
GetImageEncoders(unImageNumber, unImageSize, pImageCodecInfo);
for(UINT uCount = 0; uCount < unImageNumber; ++uCount)
{
if( wcscmp(pImageCodecInfo[uCount].MimeType, format) == 0 )
{
*pClsid = pImageCodecInfo[uCount].Clsid;
free(pImageCodecInfo);
return uCount;
}
}
free(pImageCodecInfo);
return -1;
}
'먹고 사는 일 > VC++' 카테고리의 다른 글
GetSysColor(int nValue) (0) | 2010.01.29 |
---|---|
OnMouseLeave() 메시지 발생 (0) | 2010.01.29 |
CString => char* CString => WCHAR* (0) | 2009.10.28 |
CListctrl Report 에서 열간의 높이 조절 하는 방법 (0) | 2009.10.08 |
System Millissecond (0) | 2009.08.20 |