canvas繪製之漸變色

2021-07-02 05:29:09 字數 1305 閱讀 5004

一漸變色分為線性漸變和放射漸變

2d繪製環境通過呼叫

線性漸變:createlinegradient(x,y,width,height),

放射漸變:createradialgradient(x0,y0,r0,x1,y1,r2) x0,y0是起始點座標r0是半徑範圍

二:**示例:

/**

* created by administrator on 2015/5/2.

*/var canvas = document.getelementbyid('canvas3');

context = canvas.getcontext('2d');

//線性漸變

gradient = context.createlineargradient(0,0,canvas.width/2,0);

gradient.addcolorstop(0,'blue');

gradient.addcolorstop(0.25,'white');

gradient.addcolorstop(0.5,'purple');

gradient.addcolorstop(0.75,'red');

gradient.addcolorstop(1,'yellow');

context.fillstyle = gradient;

context.rect(0,0,canvas.width/3,canvas.height/3);

context.fill();

//放射性漸變

gradient2 = context.createradialgradient(canvas.width/2,0,10,canvas.width/4,canvas.height,100);

gradient2.addcolorstop(0,'blue');

gradient2.addcolorstop(0.25,'white');

gradient2.addcolorstop(0.5,'purple');

gradient2.addcolorstop(0.75,'red');

gradient2.addcolorstop(1,'yellow');

context.fillstyle = gradient2;

context.rect(0,0,canvas.width,canvas.height);

context.fill();

結果如圖:

繪製漸變色

迴圈改變的畫素值,請注意每一行使用乙個顏色。int data new int fontimage.getwidth fontimage.getheight fontimage.getrgb data,0,fontimage.getwidth 0,0,fontimage.getwidth fontim...

使用canvas繪製環形漸變色進度條

問題背景 1 實現環形漸變 顏色是均勻的 2 要有動畫進度 時間要可控 3 弧形邊要順滑 不能有明顯的毛刺。產品上線後被提了這個bug d 4 要有背景色 實現方法 1 使用canvas畫,主要思路是把整個圓弧分隔成n多個小弧線,每個小弧使用不同的顏色描邊 2 不同的顏色來自於一條漸變色條,漸變色條...

QMl中的Canvas使用漸變色

qml中的canvas在繪製圖形是,可以設定漸變色。context2d中的createlineargradient 建立乙個線性漸變物件,createradialgradient 建立乙個放射性漸變物件,這個漸變物件的型別為canvasgradient。canvasgradient通過addcolo...