Android Paint和Color類介紹

2021-06-28 10:35:04 字數 4173 閱讀 9961

要繪圖,首先得調整畫筆,待畫筆調整好之後,再將影象繪製到畫布上,這樣才可以顯示在手機螢幕上。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...