GDI+ 将图像内存为bmp的图像转为jpg格式,可旋转保存
将获取的bmp内存数据,经过转换成jpg格式,根据自己的需求可以对图像先做旋转,再进行保存,主要用到的是GDI+工具。
函数的说明
/// </获取的图像内存数据 >
/// </图像的像素位数>
/// </图像的宽度>
/// </图像的高度>
/// </图像保存的路径>
/// </图像保存的路径加图像名称>
///
BOOL CImageTool::SaveJPGImage(const BYTE* pBuf, const int& nBit, const LONG& nWidth, const LONG& nHeight, LPCTSTR lpFilePath, LPCTSTR lpFileName)
{
BITMAPFILEHEADER bmfHdr;
DWORD dwWritten;
CString strPath = lpFilePath;
if (!CSystemTool::IsPathExist(strPath.GetString()))
{
CString strTemp = strPath;
CSystemTool::CreateDir(strTemp.GetString());
}
// 创建文件
HANDLE fh = ::CreateFile(lpFileName,
GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL |
FILE_FLAG_SEQUENTIAL_SCAN,
NULL);
if (fh == INVALID_HANDLE_VALUE)
return FALSE;
bmfHdr.bfType = DIB_HEADER_MARKER;
bmfHdr.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + WIDTHBYTES(nWidth * nBit) * nHeight;
bmfHdr.bfReserved1 = 0;
bmfHdr.bfReserved2 = 0