GDI+ 将图像内存为bmp的图像转为jpg格式,可旋转保存
将获取的bmp内存数据,经过转换成jpg格式,根据自己的需求可以对图像先做旋转,再进行保存,主要用到的是GDI+工具。文章来源:https://www.toymoban.com/news/detail-597397.html
函数的说明
/// </获取的图像内存数据 >
/// </图像的像素位数>
/// </图像的宽度>
/// </图像的高度>
/// </图像保存的路径>
/// </图像保存的路径加图像名称>
/// 文章来源地址https://www.toymoban.com/news/detail-597397.html
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
到了这里,关于C++ 使用 GDI+ 实现格式为bmp的图像内存转为jpg格式,并且可以实现旋转保存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!