從這裏開始http://jsfiddle.net/5pR46/1/:
CSS
#wrapper canvas {
position: relative;
}
#wrapper canvas {
border: 1px solid red;
position: absolute;
background-color: transparent;
}
HTML
<div id="wrapper">
<canvas id="myCanvas" width="578" height="200"></canvas>
<canvas id="myCanvas2" width="578" height="200"></canvas>
</div>
的JavaScript
function drawRadial(elemId, startColor, endColor, x0, y0, r0, x1, y1, r1) {
var canvas = document.getElementById(elemId);
var context = canvas.getContext('2d');
context.rect(0, 0, canvas.width, canvas.height);
// create radial gradient
var grd = context.createRadialGradient(x0, y0, r0, x1, y1, r1);
grd.addColorStop(0, startColor);
grd.addColorStop(1, endColor);
context.fillStyle = grd;
context.fill();
delete canvas;
delete context;
delete grd;
}
drawRadial('myCanvas', 'rgba(248,173,133,1.0)', 'rgba(0,0,0,0.0)', 50, 25, 110, 300, 50, 400);
drawRadial('myCanvas2', 'rgba(213,215,155,1.0)', 'rgba(0,0,0,0.0)', 500, 150, 110, 500, 50, 600);
,只要你想你可以添加儘可能多的層。只需添加另一個;
<canvas id="myCanvas#" width="578" height="200"></canvas>
..其中#
是您層(新的電話號碼讓他們以正確的順序得到壽。你甚至可以去儘量使用JavaScript正確的結果剛開始用空#wrapper
和只需填寫它動態地用canvas
-incremented的ID,然後綁定完整的繪圖程序到它。給你超級乾淨的代碼,同時保持對內容的控制。
玩弄放射狀物的座標和大小,它很快就會適應就像你想要的一樣,我會把剩下的創意留給你;)
只讀HTML5畫布函數drawImage()和createLinearGradient()並創建一些東西..然後,如果您發現任何問題,那麼只需在SO處提問即可。 –
只需注意一點,通過適當的緩存,您可以消除第一次後圖像的下載時間。另外,根據尺寸的不同,您可以使其變亮。 –
@MadaraUchiha :)謝謝..我知道那..我只想讓客戶端(瀏覽器)儘可能多地工作,因爲它會使瀏覽體驗更加流暢和更好。 – Dimser