VC6.0中gdiPlus的使用以及一个bmp转jpg的小例子
来源:互联网 发布:网络金庸群侠传单机版 编辑:程序博客网 时间:2024/06/06 02:23
VC6.0中gdiPlus的使用以及一个bmp转jpg的小例子
#include <GdiPlus.h>
using namespace Gdiplus;
GdiplusStartupInput m_gdiplusStartupInput;
ULONG_PTR m_gdiplusToken;
int GetEncoderClsid(const WCHAR* format, CLSID* pClsid);
void BMP2JPG(CString strBMPFile,CString strJPGFile);
GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL);
BMP2JPG("...","...");
GdiplusShutdown(m_gdiplusToken);
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
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
}
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);
}
/*
//在GDI+中,需要定义一个ULONG_PTR。
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#endif
*/
- VC6.0中gdiPlus的使用以及一个bmp转jpg的小例子
- 转VC6.0中gdiPlus的使用以及一个bmp转jpg的小例子[bobob原创]
- VC6.0中gdiPlus的使用以及一个小例子
- VC6.0中gdiPlus的使用以及一个小例子
- VC6.0中gdiPlus的使用以及一个小例子
- (转) VC6.0中GdiPlus的使用以及一个小例子 - jiket - 网易博客
- VC6 中使用GDIPlus
- 【转】在VC6中使用 GdiPlus
- wince中显示BMP、JPG、Gif以及PNG的方法
- wince中显示BMP、JPG、Gif以及PNG的方法
- 在 VC6 中使用 GdiPlus
- 在 VC6 中使用 GdiPlus
- vc6.0使用gdi+在内存中绘图并将其保存为bmp,jpg,gif,png等格式的图片
- vc6.0使用gdi+在内存中绘图并将其保存为bmp,jpg,gif,png等格式的图片
- VC6.0中使用Stream Object读取数据中流文件并显示Bmp,JPG等图片
- VC6.0中使用Stream Object读取数据中流文件并显示Bmp,JPG等图片
- VC6.0中使用Stream Object读取数据中流文件并显示Bmp,JPG等图片
- GDIPlus的Pen的一个小Bug
- 使用SQL Storage Compress压缩SQL Server 数据库文件
- 数组右移
- 关于qvfb安装问题
- POJ题目分类【实在是不知道哪个是原创了】
- oracle学习之--8rownum和rowid
- VC6.0中gdiPlus的使用以及一个bmp转jpg的小例子
- winform打包发布安装包详解..
- Hook Objective-C 的方法
- Android的编译时遇到 gcc: error trying to exec 'cc1plus': execvp: 没有那个文件或目录 ...
- Java事件机制整理
- jQuery.lazyload详解
- Spring定时任务
- 利用eclipse开发php<转>
- 传个有用的吧,win下glut所需的.h, .lib 和dll