Android Canvas 方法總結(jié)(五)

畫點:

/** 
 * 參數(shù)1、2:點的x门粪、y坐標 
 */  
drawPoint(float x, float y, @NonNull Paint paint) ;//畫一個點   

 
/** 
 *pts:多個點,每兩個值為一個點。最后個數(shù)不夠兩個的值,忽略抛蚁。 
 */  
 drawPoints(@Size(multiple = 2) @NonNull float[] pts, @NonNull Paint paint)//畫多個點

畫線


/* 
 * 參數(shù)1:startX 
 * 參數(shù)2:startY 
 * 參數(shù)3:stopX 
 * 參數(shù)4:stopY 
 * 參數(shù)5:畫筆對象 
 */  
 drawLine(float startX, float startY, float stopX, float stopY,  @NonNull Paint paint)// 畫線  

/* 
 * 同時繪制多條線稼病。 
 * pts:float數(shù)組:每四個一組為一條線绕沈。最后不足四個,就忽略那些值踢故。 
 * paint:畫筆對象 
 */  
drawLines(@Size(multiple = 4) @NonNull float[] pts, @NonNull Paint paint)

矩形


/** 
 *  矩形 
 *  參數(shù)1:float left 
 *  參數(shù)2:float top 
 *  參數(shù)3:float right 
 *  參數(shù)4:float bottom 
 */ 
drawRect(float left, float top, float right, float bottom, @NonNull Paint paint)
/**
 *Rect  RectF 矩形區(qū)域
 */
drawRect(@NonNull Rect r, @NonNull Paint paint)
drawRect(@NonNull RectF rect, @NonNull Paint paint) 

//圓角矩形

/** 
 *  矩形 
 *  rect:要繪制的圓角矩形的矩形邊界
 *  rx:x半徑
 *  ry:y半徑  
 *  paint:
 */ 
drawRoundRect(@NonNull RectF rect, float rx, float ry, @NonNull Paint paint)

多邊形

Path path = new Path();  // 路徑對象
path .moveTo(float x, float y) ;//設(shè)置Path的起點
path .lineTo(float x, float y);//可以添加多個點 構(gòu)件多邊形 或曲線
path.close(); // 使終點和起點鏈接文黎,構(gòu)成封閉圖形  

drawPath(@NonNull Path path, @NonNull Paint paint)

曲線

/**  
 * Path類封裝復(fù)合(多輪廓幾何圖形的路徑  
 * 由直線段*、二次曲線,和三次方曲線殿较,也可畫以油畫耸峭。drawPath(路徑、油漆),要么已填充的或撫摸  
 * (基于油漆的風(fēng)格),或者可以用于剪斷或畫畫的文本在路徑淋纲。  
 */   
Path path = new Path();  // 路徑對象  
path .moveTo(float x, float y) ;//設(shè)置Path的起點
path .lineTo(float x, float y);//可以添加多個點 構(gòu)件多邊形 或曲線
//....  可以添加多個點劳闹。構(gòu)成多邊形  

canvas.drawPath(path, p);

畫圓

/**
 * cx:圓心X 
 * cy:圓心Y 
 * radius:半徑R 
 * paint:畫筆對象 
 */           
 drawCircle(float cx, float cy, float radius, @NonNull Paint paint);  

畫橢圓

/* 
 *  oval:矩形區(qū)域
 *  paint:畫筆對象 
 */  
canvas.drawOval(oval, p); 

畫弧度

/**
 *  畫圓弧
 *  oval:RectF對象。 
 *  startAngle:開始的角度洽瞬。(水平向右為0度順時針反向為正方向) 
 *  sweepAngle:掃過的角度 
 *  useCenter:是否和中心連線 
 *   paint:畫筆對象 
 */  
drawArc(@NonNull RectF oval, float startAngle, float sweepAngle, boolean useCenter,
            @NonNull Paint paint)

畫圖片

/** 
 * bitmap:bitmap對象 
 * left:圖像左邊坐標點 
 * top:圖像上邊坐標點 
 */ 
drawBitmap(@NonNull Bitmap bitmap, float left, float top, @Nullable Paint paint)

畫文字

文字顯示基本線
bottom top可以通過 Paint.FontMetricsInt 對象獲取
Paint.FontMetricsInt fm = paint.getFontMetricsInt();//獲取線
paint.measureText(strPercent)可以獲取文字長度 來計算換行長度 居中起始坐標
根據(jù)文字中線計算文字基線: 文字基線 = 中線+(bottom-top)/2- bottom;
/**
 * text:文字
 * x:起點
 * y,:基線 
 * paint:畫筆對象 
 */    
drawText(@NonNull String text, float x, float y, @NonNull Paint paint) 


/**
 * text:文字
 * start:要從第幾個字開始繪制 
 * end: 要繪制到第幾個文字 
 * x:起點
 * y,:基線 
 * paint:畫筆對象 
 */    
drawText(@NonNull String text, int start, int end, float x, float y, @NonNull Paint paint)

/**
 * text:文字
 * Path :路徑 
 * hOffset:距離路徑開始位置的偏移量 
 * vOffset:距離路徑上下的偏移量(可以為負數(shù)) 
 * paint:畫筆對象 
 */    
drawTextOnPath(@NonNull String text, @NonNull Path path, float hOffset,  float vOffset, @NonNull Paint paint) 


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末本涕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子伙窃,更是在濱河造成了極大的恐慌菩颖,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件为障,死亡現(xiàn)場離奇詭異晦闰,居然都是意外死亡,警方通過查閱死者的電腦和手機鳍怨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門呻右,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鞋喇,你說我怎么就攤上這事声滥。” “怎么了侦香?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵落塑,是天一觀的道長纽疟。 經(jīng)常有香客問我,道長芜赌,這世上最難降的妖魔是什么仰挣? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮缠沈,結(jié)果婚禮上膘壶,老公的妹妹穿的比我還像新娘。我一直安慰自己洲愤,他們只是感情好颓芭,可當(dāng)我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著柬赐,像睡著了一般亡问。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上肛宋,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天州藕,我揣著相機與錄音,去河邊找鬼酝陈。 笑死堂飞,一個胖子當(dāng)著我的面吹牛固蚤,可吹牛的內(nèi)容都是我干的买乃。 我是一名探鬼主播珍剑,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼穆壕!你這毒婦竟也來了待牵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤喇勋,失蹤者是張志新(化名)和其女友劉穎缨该,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體川背,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡贰拿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了渗常。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片壮不。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡汗盘,死狀恐怖皱碘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情隐孽,我是刑警寧澤癌椿,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布健蕊,位于F島的核電站,受9級特大地震影響踢俄,放射性物質(zhì)發(fā)生泄漏缩功。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一都办、第九天 我趴在偏房一處隱蔽的房頂上張望嫡锌。 院中可真熱鬧,春花似錦琳钉、人聲如沸势木。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啦桌。三九已至,卻和暖如春及皂,著一層夾襖步出監(jiān)牢的瞬間甫男,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工验烧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留板驳,地道東北人。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓噪窘,卻偏偏與公主長得像笋庄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子倔监,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容