2咱圆、效果
Paint效果類Api
2.1卦羡、setAntiAlias設(shè)置抗鋸齒
paint.setAntiAlias(boolean alias)設(shè)置抗鋸齒,默認關(guān)閉祟滴;或在實例化時設(shè)置Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
2.2振惰、setStyle 設(shè)置填充模式
Paint.Style一共有三種填充模式
Paint.Style.FILL:填充
Paint.Style.STROKE:畫線
Paint.Style.FILL_AND_STROKE:畫線+填充
2.3、線條形狀
setStrokeWidth 設(shè)置線條的寬度垄懂,單位為px默認為0骑晶,使用0時不管圖像放大,縮小寬度都默認為1px草慧;
setStrokeCap 設(shè)置線頭的形狀桶蛔。線頭形狀有三種:BUTT 平頭、ROUND 圓頭漫谷、SQUARE 方頭仔雷。默認為 BUTT。
setStrokeJoin 設(shè)置拐角的形狀舔示。拐角形狀有三種::MITER 尖角碟婆、 BEVEL 平角和 ROUND 圓角。默認為 MITER惕稻。
setStrokeMiter(float miter) setStrokeJoin()中MITER 型拐角的設(shè)置竖共,用于設(shè)置 MITER 型拐角的延長線的最大值,拐角公式float miter = strokeWidth / sin(拐角/2)
2.4俺祠、色彩優(yōu)化
setDither(boolean dither) 設(shè)置圖像的抖動
setFilterBitmap 設(shè)置是否使用雙線性過濾來繪制 Bitmap肘迎,放大Bitmap時效果更平滑甥温。
2.5、setPathEffect 設(shè)置輪廓
為drawxxx()方法繪制的圖形添加輪廓妓布,PathEffect有6種 CornerPathEffect DiscretePathEffect DashPathEffect PathDashPathEffect 和組合效果的 SumPathEffect ComposePathEffect姻蚓。
CornerPathEffect 將拐角變?yōu)閳A角。CornerPathEffect(float radius);
參數(shù)為圓角的大邢徽印狰挡;DiscretePathEffect 將線條隨機偏離打亂。DiscretePathEffect(float segmentLength, float deviation) segmentLength多少長度進行偏移释涛,deviation偏移的距離加叁;
DashPathEffect 虛線繪制線條。DashPathEffect(float intervals[], float phase) intervals[] 設(shè)置虛線的格式畫唇撬、空它匕、畫、空窖认,phase虛線的偏移量豫柬;
PathDashPathEffect 使用Path繪制虛線。PathDashPathEffect(Path shape, float advance, float phase,PathDashPathEffect.Style style)
參數(shù):
Path shape:路徑
float advance:是兩個相鄰的 shape 段之間的間隔
float phase:是虛線的偏移
PathDashPathEffect.Style:虛線的格式TRANSLATE:位移扑浸,ROTATE:旋轉(zhuǎn)烧给,MORPH:變體SumPathEffect 組合效果類的 PathEffect,分別按照傳入的兩種PathEffect進行繪制;
ComposePathEffect 組合效果類的 PathEffect喝噪。先對目標(biāo) Path 使用一個 PathEffect础嫡,然后再對這個改變后的 Path 使用另一個 PathEffect。
2.6酝惧、setShadowLayer 在圖形下繪制陰影
paint.setShadowLayer(float radius, float dx, float dy, int shadowColor)
參數(shù):
float radius:陰影的模糊范圍
float dx:陰影的偏移量x
float dy:陰影的偏移量y
清除陰影clearShadowLayer()榴鼎;
2.7、setMaskFilter 設(shè)置在圖形上層的效果
BlurMaskFilter 模糊效果晚唇。
BlurMaskFilter(float radius, Blur style)
float radius:模糊的范圍檬贰;
Blur style:模糊的類型有四種;NORMAL: 內(nèi)外都模糊繪制缺亮,SOLID: 內(nèi)部正常繪制,外部模糊桥言,INNER: 內(nèi)部模糊萌踱,外部不繪制,OUTER: 內(nèi)部不繪制号阿,外部模糊EmbossMaskFilter 浮雕效果(刪除)
2.8并鸵、獲取繪制的Path
getFillPath(Path src, Path dst) src 為源Path,PathEffect之前的Path通過getFillPath得出實際的Path存入dst扔涧;
getTextPath(String text, int start, int end, float x, float y, Path path) getTextPath(char[] text, int index, int count, float x, float y, Path path)
獲取文字的繪制Path
3园担、初始化類
- reset() 重置Paint
- set(Paint src) 復(fù)制一個Paint的所有屬性
- setFlags(int flags) 批量設(shè)置flags 屬性