VB6 GDI+ 入门教程[5] 基础绘图小结
终于……我们的基础绘图部分可以先告一段落了。什么叫基础绘图?画线、画圈圈、画方块、画字……等等。我们来总结一下。
我们第一点就是总结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] 基础绘图小结的更多相关文章
- VB6 GDI+ 入门教程[2] GDI+初始化
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[2] GDI+初始化 2009 年 6 月 18 日 7 ...
- VB6 GDI+ 入门教程[6] 图片
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[6] 图片 2009 年 6 月 19 日 15条评论 ...
- VB6 GDI+ 入门教程[1] GDI+介绍
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[1] GDI+介绍 2009 年 6 月 18 日 17 ...
- VB6 GDI+ 入门教程[4] 文字绘制
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[4] 文字绘制 2009 年 6 月 18 日 7条评论 ...
- VB6 GDI+ 入门教程[3] 笔、刷子、矩形、椭圆绘制
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[3] 笔.刷子.矩形.椭圆绘制 2009 年 6 月 1 ...
- VB6 GDI+ 入门教程[7] Graphics 其他内容
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[7] Graphics 其他内容 2009 年 9 月 ...
- VB6 GDI+ 入门教程[8] Bitmap魔法(1):创建
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[8] Bitmap魔法(1):创建 2009 年 9 月 ...
- VB6 GDI+ 入门教程[9] Bitmap魔法(2):数据读写
本文转自 http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[9] Bitmap魔法(2):数据读写 200 ...
- React实例入门教程(1)基础API,JSX语法--hello world
前 言 毫无疑问,react是目前最最热门的框架(没有之一),了解并学习使用React,可以说是现在每个前端工程师都需要的. 在前端领域,一个框架为何会如此之火爆,无外乎两个原因:性能优秀,开发 ...
随机推荐
- C# 发送邮件代码
C# 发送邮件代码 MailMessage mailMsg = new MailMessage(); //using System.Net; 引用 mailMsg.From = new MailAdd ...
- 深入javascript作用域链到闭包
我之前用过闭包,用过this,虽然很多时候知道是这么一回事,但是确实理解上还不够深入.再一次看javascript高级程序设计这本书时,发现一起很多疑难问题竟然都懂了,所以总结一下一些理解,难免有错, ...
- Cheatsheet: 2013 06.23 ~ 06.30, Farewell GoogleReader(2008.07.20~2013.06.30)
Mobile Resources for Mac and iOS Developers- Introduction to Objective-C Modules Other 10 Principles ...
- js跨域及解决方案
本文出自:http://www.cnblogs.com/oneword/archive/2012/12/03/2799443.html 1.什么是跨域 我们经常会在页面上使用ajax请求访问其他服务器 ...
- ajax接收返回值获取不到问题
function testAsync() { //定义一个全局变量来接受$post的返回值 var result; //用ajax的“同步方式”调用一般处理程序 $.ajax({ url: " ...
- STORM_0009_Lifecycle-of-a-topology/拓扑的生命周期
http://storm.apache.org/releases/1.0.1/Lifecycle-of-a-topology.html STORM拓扑的生命周期 本页的内容基于0.7.1代码,后来 ...
- php 在函数定义变量的时候,变量前加了 @ 符号是什么意思
今天在看到一段代码,如下 <?php $test=@'kdksf?cc'; 加上@ 是 就可以不用\来表示转义字符了
- hibernate对象关系实现(四)继承实现
继承实现方式分为三种:subclass; joined-subclass;union-subclass a.类中体现 b.库中体现分为三种: b.1:一种方式:人和学生公用一张表,添加一个辨别字段 ...
- GooglePlay_下载apk
关键字:"APK Downloader" 方式: (1)."APK Downloader"网站在线下载(无需我们的GooglePlay账户信息,也就无需Goog ...
- js call与apply的区别-Tom
.apply和.call方法是在函数原型中定义的两个方法(因此所有的函数都可以访问它)允许去手动设置函数调用的this值,他们用接受 的第一个参数作为this值,this 在调用的作用域中使用.这两个 ...