资源简介
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语言链表的项目用链表实现的字典
相关资源
- 将图片转换为C语言数组的程序
- 用C语言进行数字图像处理
- 基于esp32的摄像头采集图像代码
- basler相机图像采集和显示
- 二维码生成BMP
- opencv图片扫描以及校正
- 图像预处理五种滤波
- Hex文件转bin文件
- 基于opencv漫水填充算法综合
- 使用 IBM Rational Systems Developer 和 Rati
- 基于改进的fcm算法的图像分割vc++
- 利用C++类实现PNG图像读写及显示
- Visual+C++数字图像处理-谢凤英-源代码
- pcm转换成wav
- 基于图割的图像分割OpenCV+MFC实现
- 通达信day格式文件转换含港股和基金
- Bmp图像处理.zip
- VC++数字图像处理典型算法及实现
- C语言版经纬度与高斯投影相互转换函
- UNIX/LINUX下C语言中文短信UCS2编码和解
- 基于MFC的图像的拼接系统
- VC++阳历(公历)到阴历(农历)转换
- Visual C++数字图像实用工程案例精选源
- EAN13条码生成(C语言+VS2010)[包含EA
- MFC VC++实现Sierpinski分形图像
- WGS84 北京54 西安80 CGCS2000 布尔沙七参
- VC6.0 完整的图像处理程序 运用了大量
- VC图像处理-用Canny算子提取边缘
- 经纬度坐标转换为平面坐标的matlab实
- C语言实现51单片机和ADC0809芯片的AD模
评论
共有 条评论