首页 > 代码库 > android paint cap join 理解 图示
android paint cap join 理解 图示
Lee出品,本文属个人所有,转载请声明出处。
网上查了很多资料,对paint的里面的枚举类cap join讲的不是很透彻。在这里自己做一个比较深入的研究。
首先说Cap,比较形象的解释就是 用来控制我们的画笔在离开画板时候留下的最后一点图形,比如矩形,圆形等。不懂?那接着往下看。
先看看源码:
/** * The Cap specifies the treatment for the beginning and ending of * stroked lines and paths. The default is BUTT. */ public enum Cap { /** * The stroke ends with the path, and does not project beyond it. */ BUTT (0), /** * The stroke projects out as a semicircle, with the center at the * end of the path. */ ROUND (1), /** * The stroke projects out as a square, with the center at the end * of the path. */ SQUARE (2); private Cap(int nativeInt) { this.nativeInt = nativeInt; } final int nativeInt; }
这是cap的源码,从源码我们看到BUTT是默认的设置,但是我们看不出BUTT、ROUND、SQUARE的区别。
下面看几张图片,我想足以理解Cap的用途。
BUTT | |
ROUND | |
SQUARE |
上表就是三种样式的区别,竖线处即为画笔结束处,图中区别明显,在此不再赘述。
接着我们看Join,Join的理解也很容易,他是用来控制画的图形接触时候的样式的。
看源码:
/** * The Join specifies the treatment where lines and curve segments * join on a stroked path. The default is MITER. */ public enum Join { /** * The outer edges of a join meet at a sharp angle */ MITER (0), /** * The outer edges of a join meet in a circular arc. */ ROUND (1), /** * The outer edges of a join meet with a straight line */ BEVEL (2); private Join(int nativeInt) { this.nativeInt = nativeInt; } final int nativeInt; }
和Cap类似,看源码也就看出了默认是MITER,其他具体形状还是难以理解。接着看图:
MITER | |
ROUND | |
BEVEL |
上表就是三种样式的区别,区别明显,在此不再赘述。
android paint cap join 理解 图示
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。