r6 - 13 Aug 2009 - 10:15:06 - YiZhengYou are here: TWiki >  Products Web > MGPlusV12PG > MGPlusConceptPGV101Section1

1 mGPlus基本概念介绍

画笔的介绍

画笔是用于绘制线条、曲线以及勾勒形状轮廓,是基于点绘机制。画笔除了具有常见的色彩和宽度属性外,还具有对齐方式,线帽,变换方式等属性。

画刷的介绍

画刷是基于填充机制,用于与 Graphics 对象一起创建实心形状和呈现文本的对象。

路径的介绍

路径的定义

路径由一组有严格的顺序折线和曲线组成。其顺序很重要。路径有两种规则缠绕规则,根据规则,可以判断一个点是在路径内还是在路近外(路径不一定是闭合的).

缠绕规则:

  • 奇偶规则(Even-Odd): 从一点向右做射线,如果射线路径有奇数个交点,则该点在路径内,否则,该点不再路径内
  • 非零规则(None-Zero): 从一点向右做射线,如果路径从"上"穿过射线的次数不等于从“下”穿过路径的次数,那么该点在路径内,否则,该店不再路径内。

path.jpeg

  1. 奇偶规则:点A, D, F在路径内,而点B,C,E,G则不在路径内
  2. 非零规则: 注意路径穿过射线的方向,点A有两次被从上穿过,故而点A在路径内。同理,点D,F也在路径内,而点B,C,E,G不在路径内。

用扫描方法填充路径

形成路径的线段可以是折线也可以是曲线。为了方便实现路径填充算法,需要将曲线离散为折线进行处理. 下面,就重点讨论一下,全部是折线的路径填充的实现。

在填充的时候,可能存在不止一条的路径,可能是多条路径形成的区域。因此,所有路径都必须保持同样的缠绕规则,否则,就无法在不同路径之间做比较,判断一个点是否在路径内。

路径的使用

  • 路径使用方法。使用路径可以进行路径绘制、路径填充以及路径剪切。
    • 路径绘制就是把路径内所有的子路径曲线离散化为顶点,然后把所有顶点连线,便绘出了路径。
    • 路径填充就是把路径离散化,变成一个多边形,然后填充该多边形。
    • 路径剪切与路径填充相似,只是把生成的扫描线组成一个区域。

  • 对路径的操作:新建路径、销毁路径、复制路径、闭合路径、向路径添加直线、向路径添加曲线等。

渐变填充

渐变填充是指使用一个颜色线性渐变或者按某个路径渐变的画刷,在某个指定区域,或者路径区域内,或者图形进行填充。有了渐变填充,我们就可以实现更加漂亮的更有立体感的控件了,这后续会有详细介绍。目前 mGPlus 实现的渐变方式有弧形渐变填充和线性渐变填充。

颜色组合

在当今非常重视产品包装的年代里,每一个应用开发者都希望能够开发出非常漂亮精致的用户界面,以获得用户的第一好感。颜色组合可谓是这方面的利器,它能够实现图片之间千变万化的组合,让你的界面获得意想不到的效果。mGPlus 实现了十二种组合模式。

-- QiJinrong - 19 Jun 2009

Topic attachments
I Attachment Action Size Date Who Comment
jpgjpeg path.jpeg manage 23.4 K 19 Jun 2009 - 11:23 QiJinrong  
Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r6 < r5 < r4 < r3 < r2 | More topic actions
 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the Feynman Software and/or the contributing authors. All material on this collaboration platform is the property of Feynman Software and/or the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback