bmp转jpg

cdcxj 2005-12-13 03:17:20
我想把bmp压缩转换成jpg格式的,谢谢大家
...全文
345 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
SunStorm 2005-12-18
  • 打赏
  • 举报
回复
http://www.vckbase.com/code/listcode.asp?mclsid=7&sclsid=703

一个源代码,呵呵
ruan1978 2005-12-16
  • 打赏
  • 举报
回复
自己写肯定很烦的,简单点得话可以调用别人的函数。
aoosang 2005-12-14
  • 打赏
  • 举报
回复
楼主可以参考我在下面贴子里的回答,也许对你有帮助

http://community.csdn.net/Expert/topic/4411/4411860.xml?temp=.9722406
aoosang 2005-12-14
  • 打赏
  • 举报
回复
楼上的回了这么多,我都看晕了,本来很简单的问题,让你给搞得这么复杂,佩服

xx_jj 2005-12-14
  • 打赏
  • 举报
回复
www.codeguru.com 有例子
guosx 2005-12-14
  • 打赏
  • 举报
回复
mark
Featured 2005-12-13
  • 打赏
  • 举报
回复
声明:事先还需要配置好GdiPlus的环境
方法如下:
1 到
http://www.bypro.net/PostAttachment.aspx?PostID=21280&AttachmentID=1787
下载GdiPlus开发包,释放到VC的相应Include、lib文件夹中,把dll放到windows文件夹中

2 到VC的Tools-Directories中分别添加一项Include和lib,指向你刚才释放的文件夹。
比如我添加一项IncludeFiles为:C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\INCLUDE\GDIPLUS
添加一项LibraryFiles为:C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\LIB\GDIPLUS
Featured 2005-12-13
  • 打赏
  • 举报
回复
在C**App类的h文件中添加如下:

////////////////////////////////////////
//必要的宏 以及头文件
#define UNICODE
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#endif


#include <gdiplus.h>
using namespace Gdiplus;
#pragma comment(lib, "gdiplus.lib") //link gdiplus.lib

////////////////////////////////////////

然后在C**App类中添加如下成员变量!
(不可作为全局变量,否则link时出错,重复定义)
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;

然后到InitInstance中:
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
到ExitInstance中:
Gdiplus::GdiplusShutdown(m_gdiplusToken);

然后即可:
Image Im(L"c:\\fig.bmp", FALSE);
CLSID JpgCodec;
GetCodecClsid(L"image/jpg", &JpgCodec);
Im.Save(L"c:\\fig.jpg", &JpgCodec, NULL);


Here is the code to GetCodecClsid

int GetCodecClsid(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;
return j; // Success
}
} // for

return -1; // Failure
} // GetCodecClsid
Featured 2005-12-13
  • 打赏
  • 举报
回复
use GDI+

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧