〓〓〓〓 求:BMP转JPEG的DLL 以及调用例子解决思路
〓〓〓〓 求:BMP转JPEG的DLL 以及调用例子
我的邮箱: wxy-19790918@163.com
跪谢!
不要有使用限制的。谢谢
------解决方案--------------------
JepgLib
it 's contained in CxImage
------解决方案--------------------
#include <Gdiplus.h>
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很不错,支持多种图像的转换及特效处理
------解决方案--------------------
搜一下就满街都是,顶肺!
我的邮箱: wxy-19790918@163.com
跪谢!
不要有使用限制的。谢谢
------解决方案--------------------
JepgLib
it 's contained in CxImage
------解决方案--------------------
#include <Gdiplus.h>
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很不错,支持多种图像的转换及特效处理
------解决方案--------------------
搜一下就满街都是,顶肺!