跪谢!不要有使用限制的。谢谢
解决方案 »
- CBCGPToolbarComboBoxButton 不能用
- 窗体中间部份是透明的,可以看到下层窗体的视频,怎么样才能让鼠标不穿透中间的透明区域?
- 怎样动态修改其他程序的菜单文字?
- 对话框画图
- Unicode编程,高手请进!
- 用create创建一个非模态对话框出错
- 用m_pConnection.CreateInstance("ADODB.Connection")怎么老是产生不了对象呀
- ●【 VC6.0 问题 求助,把自己的分全部都奉上】●
- 请问:在vc++6.0中定义了一个类后,怎样才能将其删除?在线等....
- socket 传送文件问题,请看代码
- 内存泄露,急!!!!!
- 关于常量定义:#define好 还是 const好?
it's contained in CxImage
using namespace Gdiplus;
#pragma comment(lib, "GdiPlus.lib")void BMP2JPG(CString strBMPFile,CString strJPGFile)
{
CLSID encoderClsid;
WCHAR strGuid[39];
if(GetEncoderClsid(L"image/jpeg", &encoderClsid) >= 0)
StringFromGUID2(encoderClsid, strGuid, 39);
Image image(strBMPFile.AllocSysString());
image.Save(strJPGFile.AllocSysString(),&encoderClsid,NULL);}int GetEncoderClsid(const WCHAR* format, CLSID* pClsid)
{
UINT num = 0; // number of image encoders
UINT size = 0; // size of the image encoder array in bytes GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
ImageCodecInfo* pImageCodecInfo = NULL; GetImageEncodersSize(&num, &size);
if(size == 0)
return -1; // Failure pImageCodecInfo = (ImageCodecInfo*)(malloc(size));
if(pImageCodecInfo == NULL)
return -1; // Failure GetImageEncoders(num, size, pImageCodecInfo); for(UINT j = 0; j < num; ++j)
{
if( wcscmp(pImageCodecInfo[j].MimeType, format) == 0 )
{
*pClsid = pImageCodecInfo[j].Clsid;
free(pImageCodecInfo);
return j; // Success
}
} free(pImageCodecInfo);
return -1; // Failure
}
用一个FLIB很不错,支持多种图像的转换及特效处理