资源简介
VC6工程,使用GDI+将BMP图像转换为JPG格式,为了简单起见,工程为命令行模式,有一段代码是网上找的。
代码片段和文件信息
#include “windows.h“
#include
#include
#include
#include
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#endif
#include
using namespace Gdiplus;
#pragma comment(lib “gdiplus.lib“) //link gdiplus.lib
using namespace std;
int IniBmpToJpg(EncoderParameters *pEncodERParameters CLSID* pClsid)
{
//-----------------设置EncodERParameters---------------------------------------
long lQualITy = 80;
pEncodERParameters->Count = 1;
//pEncodERParameters->Parameter[0].Guid = EncoderQualITy; //这句可以去掉,去掉以后JPG文件最小化
pEncodERParameters->Parameter[0].Type = EncoderParameterValueTypeLong;
pEncodERParameters->Parameter[0].NumberOfValues = 1;
pEncodERParameters->Parameter[0].Value = &lQualITy;
//--------------------得到当前系统的 Clsid-------------------------------------------------
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 {
if(wcscmp(pImageCodecInfo[j].MimeType L“image/jpeg“) == 0)
{
*pClsid = pImageCodecInfo[j].Clsid;
free(pImageCodecInfo);
return j; // Success
}
}
free(pImageCodecInfo);
return -1; // Failure
}
int main(int argcchar* argv[])
{
if (argc<3)
{
return -1;
}
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
Gdiplus::GdiplusStartup(&gdiplusToken &gdiplusStartupInput NULL);
USES_CONVERSION;
CLSID guidJPG;
EncoderParameters encodERParams;
IniBmpToJpg(&encodERParams &guidJPG);
Image bmp1(T2W((LPCTSTR)argv[1]));
Status status=bmp1.Save(T2W((LPCTSTR)argv[2]) &guidJPG &encodERParams);
if (status==Ok)
{
cout< }
else
{
cout< }
//Gdiplus::GdiplusShutdown(gdiplusToken);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4401 2010-04-15 14:26 ConsoleConvertBMP\ConsoleConvertBMP.dsp
文件 559 2010-04-15 14:04 ConsoleConvertBMP\ConsoleConvertBMP.dsw
文件 41984 2010-04-15 14:27 ConsoleConvertBMP\ConsoleConvertBMP.ncb
文件 55808 2010-04-15 14:27 ConsoleConvertBMP\ConsoleConvertBMP.opt
文件 1337 2010-04-15 14:27 ConsoleConvertBMP\ConsoleConvertBMP.plg
文件 125 2010-04-15 14:27 ConsoleConvertBMP\ConsoleConvertBMP.positions
文件 2411 2010-04-15 14:25 ConsoleConvertBMP\Main.cpp
文件 65536 2010-04-15 14:27 ConsoleConvertBMP\Release\ConsoleConvertBMP.exe
目录 0 2010-04-15 17:24 ConsoleConvertBMP\Release
目录 0 2010-04-15 17:24 ConsoleConvertBMP
----------- --------- ---------- ----- ----
172161 10
- 上一篇:dll释放可执行程序。
- 下一篇:c语言链表的项目用链表实现的字典
相关资源
- BMP图像文件读写操作类,C++实现,支
- NFA到DFA的转换C语言实现
- c语言实现图像的旋转与平移
- MFC图像处理荧光检测算法代码
- 图像处理连通域算法 c++ vc 6.0
- c++实现数字转换英文无and
- sobel算子实现度图像的边缘提取,x和
- 基于聚类的医学图像分割法
- 如何将字符转换成ASCII
- vc++&opencv图像分块
- 图像批量格式转换jpg,bmp,tif,png小
- vc++实现图像处理:中值滤波
- MRF2图像分割vc++代码
- 应用C/C++语言编写灰度图像霍夫曼编码
- 高斯投影正算C++源代码
- Qt Quick之美图秀秀
- 基于遗传神经网络的图像分割.zip
- VC图像处理系列(傅立叶变换篇源码
- 遥感图像变化检测程序
- 用C提取24bit bmp图像数据,以GRB888格式
- VC++ 中实现进制2进制,10进制,16进制
- sln转换dsw
- CDib类MFC图像编程必备
- 使用c语言实现图像二值化
- MATLAB可调用的图像滑动窗口算法
- 基于24位bmp图的信息隐藏和提取
- EM算法(期望最大算法)实现
- 数字图像处理打开位图并查看其灰度
- 基于ITK_VTK和MFC的医学图像处理系统集
- NV21图像旋转、平移、缩放操作实现
评论
共有 条评论