- 创建mfc dll项目。
- 创建bmp.h,bmp.cpp文件。
- bmp.h添加代码.
extern "C" bool bmpTojpg(char *path);
- bmp.cpp添加代码.
#include"bmp.h" #include "stdafx.h" #include<atlimage.h> BOOL BmpToJpg(CString& strBmp) { CImage Image; // 将外部图像文件装载到CImage对象中 HRESULT hResult = Image.Load(strBmp); if (FAILED(hResult)) { return FALSE; } strBmp.MakeLower(); if (_T(".bmp") == strBmp.Right(4)) { strBmp = strBmp.Mid(0, strBmp.GetLength() - 4); } strBmp += _T(".jpg"); // 图像保存 hResult = Image.Save(strBmp); if (FAILED(hResult)) { return FALSE; } return TRUE; } extern "C" bool bmpTojpg(char *path) { CString temp=L""; int len = MultiByteToWideChar(CP_ACP, 0, path, -1, 0, 0); wchar_t *pChar = new wchar_t[len+1]; MultiByteToWideChar(CP_ACP, 0, path, -1, pChar, len); pChar[len] = 0; temp=pChar; //MessageBox(0,temp,0,0); return BmpToJpg(temp); }
5.bmpTojpg.def文件添加.
; bmpTojpg.def : 声明 DLL 的模块参数。 LIBRARY EXPORTS bmpTojpg
6.bmpTojpg接口完成。接下就是测试。。。。。
(win32的dll可以用def文件导出函数,或者用__declspec(dllexeport),(dllimport)导出函数)