1. 程式人生 > >Android 畫筆 Paint 基本操作API

Android 畫筆 Paint 基本操作API

Paint(畫筆):

用於設定繪製風格,如:線寬(筆觸粗細),顏色,透明度和填充風格等 直接使用無參構造方法就可以建立Paint例項: Paint paint = new Paint( );

主要屬性:

  • setARGB(int a,int r,int g,int b): 設定繪製的顏色,a代表透明度,r,g,b代表顏色值。
  • setAlpha(int a): 設定繪製圖形的透明度。
  • setColor(int color): 設定繪製的顏色,使用顏色值來表示,該顏色值包括透明度和RGB顏色。
  • setAntiAlias(boolean aa): 設定是否使用抗鋸齒功能,會消耗較大資源,繪製圖形速度會變慢。
  • setDither(boolean dither): 設定是否使用影象抖動處理,會使繪製出來的圖片顏色更加平滑和飽滿,影象更加清晰
  • setFilterBitmap(boolean filter): 如果該項設定為true,則影象在動畫進行中會濾掉對Bitmap影象的優化操作, 加快顯示速度,本設定項依賴於dither和xfermode的設定
  • setMaskFilter(MaskFilter maskfilter): 設定MaskFilter,可以用不同的MaskFilter實現濾鏡的效果,如濾化,立體等
  • setColorFilter(ColorFilter colorfilter): 設定顏色過濾器,可以在繪製顏色時實現不用顏色的變換效果
  • setPathEffect(PathEffect effect) 設定繪製路徑的效果,如點畫線等
  • setShader(Shader shader): 設定影象效果,使用Shader可以繪製出各種漸變效果
  • setShadowLayer(float radius ,float dx,float dy,int color):在圖形下面設定陰影層,產生陰影效果, radius為陰影的角度,dx和dy為陰影在x軸和y軸上的距離,color為陰影的顏色
  • setStyle(Paint.Style style): 設定畫筆的樣式,為FILL,FILL_OR_STROKE,或STROKE
  • setStrokeCap(Paint.Cap cap): 當畫筆樣式為STROKE或FILL_OR_STROKE時,設定筆刷的圖形樣式, 如圓形樣Cap.ROUND,或方形樣式Cap.SQUARE
  • setSrokeJoin(Paint.Join join): 設定繪製時各圖形的結合方式,如平滑效果等
  • setStrokeWidth(float width): 當畫筆樣式為STROKE或FILL_OR_STROKE時,設定筆刷的粗細度
  • setXfermode(Xfermode xfermode): 設定圖形重疊時的處理方式,如合併,取交集或並集,經常用來製作橡皮的擦除效果
  • setFakeBoldText(boolean fakeBoldText): 模擬實現粗體文字,設定在小字型上效果會非常差
  • setSubpixelText(boolean subpixelText): 設定該項為true,將有助於文字在LCD螢幕上的顯示效果
  • setTextAlign(Paint.Align align): 設定繪製文字的對齊方向
  • setTextScaleX(float scaleX): 設定繪製文字x軸的縮放比例,可以實現文字的拉伸的效果
  • setTextSize(float textSize): 設定繪製文字的字號大小
  • setTextSkewX(float skewX): 設定斜體文字,skewX為傾斜弧度
  • setTypeface(Typeface typeface): 設定Typeface物件,即字型風格,包括粗體,斜體以及襯線體,非襯線體等
  • setUnderlineText(boolean underlineText): 設定帶有下劃線的文字效果
  • setStrikeThruText(boolean strikeThruText): 設定帶有刪除線的效果
  • setStrokeJoin(Paint.Join join): 設定結合處的樣子,Miter:結合處為銳角, Round:結合處為圓弧:BEVEL:結合處為直線
  • setStrokeMiter(float miter):設定畫筆傾斜度
  • setStrokeCap (Paint.Cap cap):設定轉彎處的風格 其他常用方法:
  • float ascent( ):測量baseline之上至字元最高處的距離 
  • float descent():baseline之下至字元最低處的距離
  • int breakText(char[] text, int index, int count, float maxWidth, float[] measuredWidth): 檢測一行顯示多少文字
  • clearShadowLayer( ):清除陰影層 其他的自行查閱文件~