level 12
将图像保存为 jpg 文件的方法很多,本文用 VS2010 自带的 CImage 对象实现此功能。
2013年06月28日 10点06分
1
level 12
5. 在头文件区增加 CImage 对象的头文件,并添加命名空间的引用:
……
#include <conio.h>
#include <atlimage.h>
using namespace ATL;
int _tmain(int argc, _TCHAR* argv[])
……
2013年06月28日 10点06分
3
level 12
6. 保存 jpg 分三个步骤:
// 获取绘图窗口的 HBITMAP
HDC hdc = GetImageHDC();
HBITMAP hBitmap = (HBITMAP)::GetCurrentObject(hdc, OBJ_BITMAP);
// 将 HBITMAP绑定到 CImage 对象
CImage img;
img.Attach(hBitmap);
// 存为 jpg 格式文件。
img.Save(_T("test.jpg"));
2013年06月28日 10点06分
4
level 12
7. test.cpp 的完整代码如下:
#include "stdafx.h"
#include <graphics.h>
#include <conio.h>
#include <atlimage.h>
using namespace ATL;
int _tmain(int argc, _TCHAR* argv[])
{
initgraph(640, 480);
circle(320, 240, 200);
// 获取绘图窗口的 HBITMAP
HDC hdc = GetImageHDC();
HBITMAP hBitmap = (HBITMAP)::GetCurrentObject(hdc, OBJ_BITMAP);
// 将 HBITMAP绑定到 CImage 对象
CImage img;
img.Attach(hBitmap);
// 存为 jpg 格式文件。
img.Save(_T("test.jpg"));
_getch();
closegraph();
return 0;
}
2013年06月28日 10点06分
8