1 mGPlus基本概念介绍
画笔的介绍
画笔是用于绘制线条、曲线以及勾勒形状轮廓,是基于点绘机制。画笔除了具有常见的色彩和宽度属性外,还具有对齐方式,线帽,变换方式等属性。
画刷的介绍
画刷是基于填充机制,用于与 Graphics 对象一起创建实心形状和呈现文本的对象。
路径的介绍
路径的定义
路径由一组有严格的顺序折线和曲线组成。其顺序很重要。路径有两种规则缠绕规则,根据规则,可以判断一个点是在路径内还是在路近外(路径不一定是闭合的).
缠绕规则:
- 奇偶规则(Even-Odd): 从一点向右做射线,如果射线路径有奇数个交点,则该点在路径内,否则,该点不再路径内
- 非零规则(None-Zero): 从一点向右做射线,如果路径从"上"穿过射线的次数不等于从“下”穿过路径的次数,那么该点在路径内,否则,该店不再路径内。
- 奇偶规则:点A, D, F在路径内,而点B,C,E,G则不在路径内
- 非零规则: 注意路径穿过射线的方向,点A有两次被从上穿过,故而点A在路径内。同理,点D,F也在路径内,而点B,C,E,G不在路径内。
用扫描方法填充路径
形成路径的线段可以是折线也可以是曲线。为了方便实现路径填充算法,需要将曲线离散为折线进行处理. 下面,就重点讨论一下,全部是折线的路径填充的实现。
在填充的时候,可能存在不止一条的路径,可能是多条路径形成的区域。因此,所有路径都必须保持同样的缠绕规则,否则,就无法在不同路径之间做比较,判断一个点是否在路径内。
路径的使用
- 路径使用方法。使用路径可以进行路径绘制、路径填充以及路径剪切。
- 路径绘制就是把路径内所有的子路径曲线离散化为顶点,然后把所有顶点连线,便绘出了路径。
- 路径填充就是把路径离散化,变成一个多边形,然后填充该多边形。
- 路径剪切与路径填充相似,只是把生成的扫描线组成一个区域。
- 对路径的操作:新建路径、销毁路径、复制路径、闭合路径、向路径添加直线、向路径添加曲线等。
渐变填充
渐变填充是指使用一个颜色线性渐变或者按某个路径渐变的画刷,在某个指定区域,或者路径区域内,或者图形进行填充。有了渐变填充,我们就可以实现更加漂亮的更有立体感的控件了,这后续会有详细介绍。目前 mGPlus 实现的渐变方式有弧形渐变填充和线性渐变填充。
颜色组合
在当今非常重视产品包装的年代里,每一个应用开发者都希望能够开发出非常漂亮精致的用户界面,以获得用户的第一好感。颜色组合可谓是这方面的利器,它能够实现图片之间千变万化的组合,让你的界面获得意想不到的效果。mGPlus 实现了十二种组合模式。
--
QiJinrong - 19 Jun 2009