標籤:
要繪圖,首先得調整畫筆,待畫筆調整好之後,再將映像繪製到畫布上,這樣才可以顯示在手機螢幕上。Android 中的畫筆是 Paint類,Paint 中包含了很多方法對其屬性進行設定,主要方法如下:
setAntiAlias: 設定畫筆的鋸齒效果。
setColor: 設定畫筆顏色
setARGB: 設定畫筆的a,r,p,g值。
setAlpha: 設定Alpha值
setTextSize: 設定字型尺寸。
setStyle: 設定畫筆風格,空心或者實心。
setStrokeWidth: 設定空心的邊框寬度。
getColor: 得到畫筆的顏色
getAlpha: 得到畫筆的Alpha值。
* Paint類介紹
*
* Paint即畫筆,在繪圖過程中起到了極其重要的作用,畫筆主要儲存了顏色,
* 樣式等繪製資訊,指定了如何繪製文本和圖形,畫筆對象有很多設定方法,
* 大體上可以分為兩類,一類與圖形繪製相關,一類與文本繪製相關。
*
* 1.圖形繪製
* 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);
* 設定圖形重疊時的處理方式,如合并,取交集或並集,經常用來製作橡皮的擦除效果
*
* 2.文本繪製
* 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);
* 設定帶有刪除線的效果
使用Android Paint的經典樣本:http://www.eyesourcecode.com/thread-36147-1-1.html
Android Paint的使用以及方法介紹(附源碼下載)