`
dato0123
  • 浏览: 917346 次
文章分类
社区版块
存档分类
最新评论

GDI+学习笔记(一)

 
阅读更多

(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+基础学习笔记

    C# GDI GDI+编程小结

    GDI编程学习笔记总结,很不错的资源哦,对于想快速通览GDI编程或者想复习GDI编程的朋友很有用

    Visual C#学习笔记光盘

    Visual C#学习笔记光盘 简介:本书由浅入深地讲解Visual C# 2005编程知识,全书内容分为6篇,共27章,第一篇介绍Visual Studio 2005开发环境和C#基础,其中包括Visual C# 2005简介,C#语言基础,面向对象编程...

    VC++技术内幕 学习笔记

    第一篇:Windows的编程模式 第二篇:Microsoft基本类库应用程序框架 第三篇:消息映射和视图类 第四篇:资源和编译 ...非常好的学习笔记,里面有许多实例的笔记,非常推荐。 网页收集,个人整理成word版的。

    Visual+C++程序设计学习笔记

    为了能使读者通过读懂源代码来掌握Visual C++技术,在实例举证时还给源代码绘了大量的流程图,采取学习笔记的写作方式将 Visual C++开发技术展现得淋漓尽致,能使读者很快地进入实际开发角色。本书和市场上其他类似...

    MVC使用极验验证制作登录验证码学习笔记7

    更为重要的是,GDI+绘制的验证码一般来说也不会很美观,如果做一个炫酷的登陆界面却配了这样一个验证码,画风诡异,丑到极致。  再后来浏览网页的过程中,发现很多很多网站项目中都使用了一种叫极验验证的验证码,...

    CHM 格式的 VC 技术内幕学习笔记全集下载.rar

    VC 技术内幕学习笔记全集,关于本电子书,不用多说了吧,标题完全可以了解这是什么,学习技术内幕时候写的笔记,也算是有感而发,也算是重温了这本书,内容涉及到Microsoft基本类库应用程序框架、消息映射和视图类、...

    我的C++Builder学习笔记

    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学习笔记,关于VC许多方面,多年收集

    多年收集,内容叵多 做为VC初学者,相信总有很多小毛小病困扰着你,打开这个文档,按Ctrl+F,输入关键字,或许就有惊喜哦。 如:想了解以其他用户启动进程的方法----就查找“其他用户”。

    .net技术资料大全(语言规范 源码教程 学习笔记 技术资料 .net代码生成器)

    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_...

    ASP升级.net资料大全(c#入门 语言规范 源码教程 学习笔记 技术资料 面试题 asp与.net代码生成器)

    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_...

    ExDui2.0学习笔记之酷狗界面-易语言

    缺点:带有DLL(已开源),GDI 渲染BUG较多,例程少,组件开放性高(用易语言来开发界面,代码量增加),逻辑方式不同于易语言,全英文调用,消息传参,内存指针回调,上手难度较高。 优点:执行效率较高,占用资源少,...

    asp.net知识库

    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...

Global site tag (gtag.js) - Google Analytics