-
网上查了很多资料,对paint的里面的枚举类cap join讲的不是很透彻。在这里自己做一个比较深入的研究。
首先说Cap,比较形象的解释就是 用来控制我们的画笔在离开画板时候留下的最后一点图形,比如矩形,圆形等。不懂?那接着往下看。
先看看源码:
12345678910111213141516171819202122232425/*** The Cap specifies the treatment for the beginning and ending of* stroked lines and paths. The default is BUTT.*/publicenumCap {/*** 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);privateCap(intnativeInt) {this.nativeInt = nativeInt;}finalintnativeInt;}
这是cap的源码,从源码我们看到BUTT是默认的设置,但是我们看不出BUTT、ROUND、SQUARE的区别。下面看几张图片,我想足以理解Cap的用途。
BUTT 
ROUND 
SQUARE 
上表就是三种样式的区别,竖线处即为画笔结束处,图中区别明显,在此不再赘述。
接着我们看Join,Join的理解也很容易,他是用来控制画的图形接触时候的样式的。
看源码:
1234567891011121314151617181920212223/*** The Join specifies the treatment where lines and curve segments* join on a stroked path. The default is MITER.*/publicenumJoin {/*** 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);privateJoin(intnativeInt) {this.nativeInt = nativeInt;}finalintnativeInt;}
和Cap类似,看源码也就看出了默认是MITER,其他具体形状还是难以理解。接着看图:MITER 
ROUND 
BEVEL 
上表就是三种样式的区别,区别明显,在此不再赘述
。
android paint cap join 理解 图示
最新推荐文章于 2023-07-24 09:45:00 发布
本文详细解析了Paint类中的Cap和Join枚举类型,通过源码解读和对比图例,帮助读者理解不同设置下线条端点和连接处的表现形式。
231

被折叠的 条评论
为什么被折叠?



