要繪圖,首先得調整畫筆,待畫筆調整好之後,再將影象繪製到畫布上,這樣才可以顯示在手機螢幕上。android 中的畫筆是 paint類,paint 中包含了很多方法對其屬性進行設定,主要方法如下:
setantialias: 設定畫筆的鋸齒效果。
setcolor: 設定畫筆顏色
setargb: 設定畫筆的a,r,p,g值。
setalpha: 設定alpha值
settextsize: 設定字型尺寸。
setstyle: 設定畫筆風格,空心或者實心。
setstrokewidth: 設定空心的邊框寬度。
getcolor: 得到畫筆的顏色
getalpha: 得到畫筆的alpha值。
下面是乙個簡單的示例 來說明這些方法的使用。先來看看執行效果吧。
package eoe.demo;
import android.content.context;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.util.log;
import android.view.keyevent;
import android.view.motionevent;
import android.view.view;
public class gameview extends view implements runnable
@override
protected void ondraw(canvas canvas)
// 觸筆事件
public boolean ontouchevent(motionevent event)
// 按鍵按下事件
public boolean onkeydown(int keycode, keyevent event)
// 按鍵彈起事件
public boolean onkeyup(int keycode, keyevent event)
public boolean onkeymultiple(int keycode, int repeatcount, keyevent event)
@override
public void run() catch (exception e)
// 更新介面
postinvalidate();}}
}package eoe.demo;
import android.os.bundle;
public class activity01 extends activity
}
/**
* 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應用舉例
1 主要用了paint canvas 兩個類中的方法 2 主要用了畫線和畫圓的方法。3 drawline 起始點軸座標,起始點y軸座標,終點軸座標,終點y軸座標 4 drawcircle 圓心x軸座標,圓心y軸座標,半徑,畫布 效果圖 直接上 了 package com.example.drawpi...
Android Paint類的解析
paint即畫筆,在繪圖過程中起到了極其重要的作用,畫筆主要儲存了顏色,樣式等繪製資訊,指定了如何繪製文字和圖形,畫筆物件有很多設定方法,大體上可以分為兩類,一類與圖形繪製相關,一類與文字繪製相關。1.圖形繪製 setargb int a,int r,int g,int b 設定繪製的顏色,a代表透...
Android Paint類的介紹
要繪圖,首先得調整畫筆,待畫筆調整好之後,再將影象繪製到畫布上,這樣才可以顯示在手機螢幕上。android 中的畫筆是 paint類,paint 中包含了很多方法對其屬性進行設定,主要方法如下 setantialias 設定畫筆的鋸齒效果。setcolor 設定畫筆顏色 setargb 設定畫筆的a...