VC6.0下使用GDI+

GDI+forVC6.0和本例源代码下载

1、新建一单文档工程GDITEST。

2、在GDITEST下新建

\Bin目录放置可执行文件,

\Inc\GDIPlus目录放置GDIPlus头文件,

\Lib\GDIPLUS目录放置GDIPlus的lib文件,

gdiplus.dll放置在工程目录下,注意dll与头文件lib文件版本的对应,一般为5.0.3.49版gdiplus。

VC6.0下使用GDI+_第1张图片

3、配置包含文件路径和lib文件路径。

VC6.0下使用GDI+_第2张图片

VC6.0下使用GDI+_第3张图片

4、在stdafx.h中添加ULONG_PTR宏定义(这是GDIPlus中的一个定义,在老版本的VS中没有定义过)和gdiplus头文件,注意ULONG_PTR一定要在gdiplus头文件之前。

      #define ULONG_PTR ULONG
      #include "gdiplus.h"
      using namespace Gdiplus;
5、在应用类App类中添加成员变量m_gdiplusToken,其中,ULONG_PTR是一个DWORD数据类型,该成员变量用来保存GDI+被初始化后在应用程序中的GDI+标识,以便能在应用程序退出后,引用该标识来调用Gdiplus:: GdiplusShutdown来关闭GDI+。

ULONG_PTR m_gdiplusToken;

5、在应用类的InitInstance函数中最开始位置添加GDI+的初始化代码

BOOL CGDITESTApp::InitInstance()
{
	Gdiplus::GdiplusStartupInput gdiplusStartupInput;
 	Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);
	
}
6、然后重载ExitInstance虚函数(如果没有)

int CGDITESTApp::ExitInstance() 
{
	// TODO: Add your specialized code here and/or call the base class
	Gdiplus::GdiplusShutdown(m_gdiplusToken);
	return CWinApp::ExitInstance();
}

7、在OnDraw函数中添加绘制代码
void CGDITESTView::OnDraw(CDC* pDC)
{
	CGDITESTDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	Graphics graphics( pDC->m_hDC );
	GraphicsPath path; // 构造一个路径
	path.AddEllipse(50, 50, 200, 100);
	// 使用路径构造一个画刷
	PathGradientBrush pthGrBrush(&path);
	// 将路径中心颜色设为蓝色
	pthGrBrush.SetCenterColor(Color(255, 0, 0, 255));
	// 设置路径周围的颜色为蓝芭,但alpha值为0
	Color colors[] = {Color(0, 0, 0, 255)};
	INT count = 1;
	pthGrBrush.SetSurroundColors(colors, &count);
	graphics.FillRectangle(&pthGrBrush, 50, 50, 200, 100);
	LinearGradientBrush linGrBrush(
		Point(300, 50),
		Point(500, 150),
		Color(255, 255, 0, 0), // 红色
		Color(255, 0, 0, 255)); // 蓝色
	graphics.FillRectangle(&linGrBrush, 300, 50, 200, 100);
}

8、结果






你可能感兴趣的:(VC6.0下使用GDI+)