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...