http://vistaswx.com/blog/article/category/tutorial/page/2
2009 年 6 月 18 日 4条评论
标签: GdiPlus,vb 分类: Tutorial,VB6 GDI+

终于……我们的基础绘图部分可以先告一段落了。什么叫基础绘图?画线、画圈圈、画方块、画字……等等。我们来总结一下。

我们第一点就是总结DrawXXXX和FillXXXX。

1.DrawXXXX:描边可以这么说 例如DrawRectangle  DrawPath。我们都需要一个Pen(边框)来描绘它。

2.FillXXXX:填充。例如FillRectangle等等。我们需要的是Brush。

我们第二点总结平滑(反锯齿)——什么时候用GdipSetTextRenderingHint,什么时候用GdipSetSmoothingMode。

这里我很简单的借用前面的结论告诉你:

1.凡是你要用DrawXXXX或者FillXXXX画出来的,你要让他平滑,你就要用GdipSetSmoothingMode

2.其它的呢看它的类型,比如文字那么就是GdipSetTextRenderingHint……(言下之意就是还有其它的东西哦)

我们第三点总结Brush和Pen。

1.Pen是一只笔(- -||)。用于DrawXXXX的。描边。你可以通过一个纯色创建Pen(GdipCreatePen1),也可以通过一个Brush创建Pen:GdipCreatePen2(比如说纹理Pen,渐变Pen等等,不过貌似GDI+有点BUG)

2.Brush呢是刷子。我们有贴图刷子,预置纹理刷子,纯色刷子,渐变刷子,路径刷子等等。

(1)贴图刷:我们会在下一章深入探讨

(2)纯色刷:我们已经用过了,很简单——给一个颜色,传回一个Brush。

(3)渐变刷:我们也用过了,跟纯刷子差不多,给两个颜色就可以了,还有一个渐变方向~~,当然也是传回一个Brush

(4)路径刷:这个刷子很高级 可以实现前面的(2)和(3)的刷子以及他们不能实现的内容——我们可以按照路径让他去渐变……还有很多其它功能。这个嘛 以后有空我也会说的 呵呵

我们第四点总结路径。

路径我们虽然只借用到了文字路径,但是如果你翻一下我提供的API大杂烩会发现 关于Path有很多有趣的东西。例如有添加直线路径,添加圆弧路径,添加曲线路径,路径合并,路径旋转等等……很强大吧。

路径,我们需要给他一个初始化好的Path,然后按照各种需要给它参数;最后我们要把它画出来。

以后其它的路径东西我们有空会探讨。

最后再说下之前提过的一点:如果你发现复制了我的代码 结果东西没出来,那么请确保你的窗体的AutoRedraw=True。切记切记 不要忘记:) 

VB6 GDI+ 入门教程[5] 基础绘图小结的更多相关文章

  1. VB6 GDI+ 入门教程[2] GDI+初始化

    http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[2] GDI+初始化 2009 年 6 月 18 日 7 ...

  2. VB6 GDI+ 入门教程[6] 图片

    http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[6] 图片 2009 年 6 月 19 日 15条评论 ...

  3. VB6 GDI+ 入门教程[1] GDI+介绍

    http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[1] GDI+介绍 2009 年 6 月 18 日 17 ...

  4. VB6 GDI+ 入门教程[4] 文字绘制

    http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[4] 文字绘制 2009 年 6 月 18 日 7条评论 ...

  5. VB6 GDI+ 入门教程[3] 笔、刷子、矩形、椭圆绘制

    http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[3] 笔.刷子.矩形.椭圆绘制 2009 年 6 月 1 ...

  6. VB6 GDI+ 入门教程[7] Graphics 其他内容

    http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[7] Graphics 其他内容 2009 年 9 月 ...

  7. VB6 GDI+ 入门教程[8] Bitmap魔法(1):创建

    http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[8] Bitmap魔法(1):创建 2009 年 9 月 ...

  8. VB6 GDI+ 入门教程[9] Bitmap魔法(2):数据读写

    本文转自 http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[9] Bitmap魔法(2):数据读写 200 ...

  9. React实例入门教程(1)基础API,JSX语法--hello world

      前  言 毫无疑问,react是目前最最热门的框架(没有之一),了解并学习使用React,可以说是现在每个前端工程师都需要的. 在前端领域,一个框架为何会如此之火爆,无外乎两个原因:性能优秀,开发 ...

随机推荐

  1. Storm系列之三——Fault Tolerance

    本文介绍Storm容错的设计细节. 1.当一个worker进程死了会发生什么? 当worker死了,supervisor会重启它.如果它尝试开启多次失败并且不能与nimbus发送心跳,Nimbus会重 ...

  2. VC++ 工程添加 Unicode Debug和Unicode Release编译支持

    转载:http://blog.csdn.net/djhdu/article/details/171766 转载:http://blog.163.com/long_lh/blog/static/2769 ...

  3. Linux 运维工程师的十个基本技能点

    本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧. 说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具.我就大概列出这几方面,这样入门就基本没问 ...

  4. js友好提示是否继续,post提交

    <script type="text/javascript"> function delcheck(qId,typeid) { if (!confirm('确定删除吗? ...

  5. Python import 指定目录中的模块

    #coding=utf-8 import os,sys sys.path.append('test') # 下级目录(text) parentdir = os.path.dirname(os.path ...

  6. jquery之each()、$.each()[jQuery.each()]

    导航: 1,jQuery对象(实例)的each()函数 2,全局jQuery对象的each()函数 一:jQuery对象(实例)的each()函数 each()函数用于以当前jQuery对象匹配到的每 ...

  7. oracle PL/SQL基础编程

    PL/SQL(Procedural Language/SQL)是oracle中引入的一种过程化编程语言 PLS-00103:出现符号"declare"在需要下列之一时 符号&quo ...

  8. Ubuntu升级没有声音的解决方法

    自从安装U14.04LTS版本后,每次开机都会弹出update窗,以前因为网络速度慢没更新成功过,这回环境允许就尝试了下这个过程,很顺利,可更新后没声音了,找了N中方法来解决,像更改配置文件/etc/ ...

  9. CUBRID学习笔记 21 查看主键外键索引

    命令 show create table game; game是表名 在web管理中,请在sql标签中查,不要在query中执行. show create table game; === <Re ...

  10. 转 谈谈android反编译和防止反编译的方法

    谈谈android反编译和防止反编译的方法   android基于java的,而java反编译工具很强悍,所以对正常apk应用程序基本上可以做到100%反编译还原. 因此开发人员如果不准备开源自己的项 ...