canvas和paint常用方法

2021-07-04 00:25:53 字數 1480 閱讀 9806

protected void ondraw(canvas canvas) , mpaint);//畫多個點

bitmap bitmap = bitmapfactory.decoderesource(getresources(), r.drawable.smile);//例項化乙個bitmap

canvas.drawbitmap(bitmap, 500, 150, mpaint);//畫

path path = new path();

path.moveto(400, 300);// 不會進行繪製,只用於移動移動畫筆,相當於起點。

path.lineto(600, 350); //lineto 用於進行直線繪製。

path.moveto(400, 310);// 不會進行繪製,只用於移動移動畫筆,相當於起點。

path.quadto(650, 400, 400, 600); //quadto 用於繪製圓滑曲線,即貝塞爾曲線。mpath.quadto(x1, y1, x2, y2) (x1,y1) 為控制點,(x2,y2)為結束點。

path.moveto(400, 610);// 不會進行繪製,只用於移動移動畫筆,相當於起點。

path.cubicto(400, 700, 500, 550, 600, 900); //cubicto 同樣是用來實現貝塞爾曲線的。mpath.cubicto(x1, y1, x2, y2, x3, y3) (x1,y1) 為控制點,(x2,y2)為控制點,(x3,y3) 為結束點。

path.moveto(600, 1000);// 不會進行繪製,只用於移動移動畫筆,相當於起點。

rectf mrectf = new rectf(400, 900, 600, 1100);

path.arcto(mrectf, 0, 270);//arcto 用於繪製弧線(實際是擷取圓或橢圓的一部分

canvas.drawpath(path, mpaint);//畫出曲線

rectf rectf1 = new rectf(100, 900, 200, 1000);

canvas.drawarc(rectf1, //弧線所使用的矩形區域大小

0, //開始角度

180, //掃過的角度

false, //是否使用中心

mpaint);

//按照既定點 繪製文字內容

mpaint.settextsize(16);

mpaint.setstrokewidth(1);

canvas.drawpostext("hello world", new float, mpaint);

canvas.drawtextonpath("123456789", path, 50, -30, mpaint); //按照既定路徑 繪製文字內容

}

repaint,update和paint方法的區別

repaint,update和paint 這三個方法在component中定義,由於awt,swing元件都直接或間接繼承自component,所以幾乎所有的awt,swing元件都有這三個方法.這三個方法主要是用於元件的介面繪製.這三個方法執行順序repaint update paint 一般在程...

Canvas和Paint那點事(2)

最近在研究乙個音訊圖的繪製,用到了canvas畫圖方法,乙個奇怪的問題困擾了我好久,最後終於解決了。本來是想得到這種不斷跳動的音訊頻譜柱狀圖的 誰能想到,本想要個格格,誰知道來了個嬤嬤。得到了這樣的效果 方法一 canvas.drawcolor color.transparent,porterduf...

說說canvas吧(一) paint

也就是畫筆,做過自定義元件的都知道,自定義元件中,畫筆是重中之中,掌握好畫筆非常重要 下面我說說畫筆的一些比較實用的操作吧 paint.setcolor color.red 這個方法就不多說了,就是設定畫筆顏色,當然,你要是要自定義顏色可以用mpaint.setcolor color.parseco...