(1)、在应用程序中添加GDI+的包含文件gdiplus.h以及附加的类库gdiplus.lib。
通常gdiplus.h包含文件添加在应用程序的stdafx.h文件中,而gdiplus.lib可用两种进行添加:第一种是直接在stdafx.h文件中添加下列语句:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#pragmacomment(lib,"gdiplus.lib")
另一种方法是:选择"项目->属性"菜单命令,在弹出的对话框中选中左侧的"链接器->输入"选项,在右侧的"附加依赖项"框中键入gdiplus.lib,
(2)、在应用程序项目的应用类中,添加一个成员变量,如下列代码:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->ULONG_PTRm_gdiplusToken;
其中,ULONG_PTR是一个DWORD数据类型,该成员变量用来保存GDI+被初始化后在应用程序中的GDI+标识,以便能在应用程序退出后,引用该标识来调用Gdiplus:: GdiplusShutdown来关闭GDI+。
(3)、在应用类的InitInstance函数中添加GDI+的初始化代码: BOOL
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->intCCGDIPlusApp::ExitInstance()
{
Gdiplus::GdiplusShutdown(m_gdiplusToken);
returnCWinApp::ExitInstance();
}
(4)、在应用类中添加ExitInstance的重载,并添加下列代码用来关闭GDI+:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->intCGDIPlusApp::ExitInstance()
{
Gdiplus::GdiplusShutdown(m_gdiplusToken);
returnCWinApp::ExitInstance();
}
(5)、在需要绘图的窗口或视图类中添加GDI+的绘制代码:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->voidCCGDIPlusView::OnDraw(CDC*pDC)
{
CCGDIPlusDoc*pDoc=GetDocument();
ASSERT_VALID(pDoc);
if(!pDoc)
return;
usingnamespaceGdiplus;
Graphicsgraphics(pDC->m_hDC);
GraphicsPathpath;//构造一个路径
path.AddEllipse(50,50,200,100);
//使用路径构造一个画刷
PathGradientBrushpthGrBrush(&path);
//将路径中心颜色设为蓝色
pthGrBrush.SetCenterColor(Color(255,0,0,255));
//设置路径周围的颜色为蓝芭,但alpha值为
Colorcolors[]={Color(0,0,0,255)};
INTcount=1;
pthGrBrush.SetSurroundColors(colors,&count);
graphics.FillRectangle(&pthGrBrush,50,50,200,100);
LinearGradientBrushlinGrBrush(
Point(300,50),
Point(500,150),
Color(255,255,0,0),//红色
Color(255,0,0,255));//蓝色
graphics.FillRectangle(&linGrBrush,300,50,200,100);
}
分享到:
相关推荐
GDI+ 学习笔记, 学习 快乐之本
GDI+基础学习笔记
GDI编程学习笔记总结,很不错的资源哦,对于想快速通览GDI编程或者想复习GDI编程的朋友很有用
Visual C#学习笔记光盘 简介:本书由浅入深地讲解Visual C# 2005编程知识,全书内容分为6篇,共27章,第一篇介绍Visual Studio 2005开发环境和C#基础,其中包括Visual C# 2005简介,C#语言基础,面向对象编程...
第一篇:Windows的编程模式 第二篇:Microsoft基本类库应用程序框架 第三篇:消息映射和视图类 第四篇:资源和编译 ...非常好的学习笔记,里面有许多实例的笔记,非常推荐。 网页收集,个人整理成word版的。
为了能使读者通过读懂源代码来掌握Visual C++技术,在实例举证时还给源代码绘了大量的流程图,采取学习笔记的写作方式将 Visual C++开发技术展现得淋漓尽致,能使读者很快地进入实际开发角色。本书和市场上其他类似...
更为重要的是,GDI+绘制的验证码一般来说也不会很美观,如果做一个炫酷的登陆界面却配了这样一个验证码,画风诡异,丑到极致。 再后来浏览网页的过程中,发现很多很多网站项目中都使用了一种叫极验验证的验证码,...
VC 技术内幕学习笔记全集,关于本电子书,不用多说了吧,标题完全可以了解这是什么,学习技术内幕时候写的笔记,也算是有感而发,也算是重温了这本书,内容涉及到Microsoft基本类库应用程序框架、消息映射和视图类、...
2009-06-24 23:42 1,596 使用GDI+绘制旋转的图形及图片.txt 2009-07-02 09:22 5,000 创建快捷方式Builder.txt 2009-07-02 01:37 9,018 双击打开文件.txt 2009-07-31 10:51 352 图像中心扩散.txt 2008-12-06 12:25 ...
多年收集,内容叵多 做为VC初学者,相信总有很多小毛小病困扰着你,打开这个文档,按Ctrl+F,输入关键字,或许就有惊喜哦。 如:想了解以其他用户启动进程的方法----就查找“其他用户”。
C#学习 01_类.htm.txt 02_构造函数的执行序列.htm.txt 03_抽象类和接口.htm.txt 04_结构类型.htm.txt 05_类成员的定义.htm.txt 06_类成员的其他议题.htm.txt 07_接口的执行.htm.txt 08_集合.htm.txt 09_...
C#学习 01_类.htm.txt 02_构造函数的执行序列.htm.txt 03_抽象类和接口.htm.txt 04_结构类型.htm.txt 05_类成员的定义.htm.txt 06_类成员的其他议题.htm.txt 07_接口的执行.htm.txt 08_集合.htm.txt 09_...
缺点:带有DLL(已开源),GDI 渲染BUG较多,例程少,组件开放性高(用易语言来开发界面,代码量增加),逻辑方式不同于易语言,全英文调用,消息传参,内存指针回调,上手难度较高。 优点:执行效率较高,占用资源少,...
VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...