绘制系列(三)-Region(区域)
区域,顾名思义就是一块任意形状的封闭形状;
构造函数
创建一个空白区域
- Region()
复制一个相同区域
- Region(Region region)
创建一个矩形区域
- Region(Rect r)
- Region(int left, int top, int right, int bottom)
RegionInterator
canvas并没有像之前的drawRect()、drawText()一样提供画Region的函数,对于特定的区域,我们可以看作有一系列足够小的矩形区域构成。也就是说一系列足够小的矩形合成的形状,可以极度趋近于特定区域。而RegionInterator就表示区域的一系列矩形集合。
该类比较简单:
RegionIterator(Region region) //根据区域构建对应的矩形集
boolean next(Rect r) //获取下一个矩形,结果保存在参数Rect r 中
通过不断遍历RegionInterator取出矩形,最后在canvas.drawRect(),即可绘制特定区域。
RegionIterator iter = new RegionIterator(rgn);
Rect r = new Rect();
while (iter.next(r)) {
canvas.drawRect(r, paint);
}