यहाँ http://jsfiddle.net/5pR46/1/ प्रारंभ:
सीएसएस
#wrapper canvas {
position: relative;
}
#wrapper canvas {
border: 1px solid red;
position: absolute;
background-color: transparent;
}
एचटीएमएल
<div id="wrapper">
<canvas id="myCanvas" width="578" height="200"></canvas>
<canvas id="myCanvas2" width="578" height="200"></canvas>
</div>
जावास्क्रिप्ट
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>
.. जहां #
अपने परत (के नए नंबर उन्हें यद्यपि। तुम भी जहाँ तक जावास्क्रिप्ट के साथ जा सकते हैं सही परिणाम प्राप्त करने के सही क्रम में रखने के रूप में सिर्फ एक खाली #wrapper
के साथ शुरू और बस को भरने यह canvas
-incremented आईडी के साथ गतिशील और फिर इसे करने के लिए पूर्ण ड्राइंग प्रक्रिया बाध्यकारी। आप सुपर साफ कोड देते सामग्री पर नियंत्रण बनाए रखते हुए।
निर्देशांक और रेडियल के आकार को आजमाते और यह जल्द ही फिट करेंगे जैसा कि आप चाहते हैं उतना ही पर्याप्त है। मैं आपको बाकी रचनात्मकता छोड़ दूंगा;)
बस एचटीएमएल 5 कैनवास फ़ंक्शन ड्राइमेज() और createLinearGradient() और createRadialGradient() बनाएं और कुछ सामान बनाएं .. फिर यदि आपको कोई समस्या मिलती है तो बस यहां प्रश्न पूछें .. –
उचित कैशिंग के साथ बस एक नोट, आप पहली बार छवि के लिए डाउनलोड समय को खत्म कर सकते हैं। इसके अलावा, आकार के आधार पर, आप इसे हल्का बना सकते हैं। –
@MadaraUchiha :) धन्यवाद .. मुझे इसके बारे में पता है ..मैं क्लाइंट (ब्राउज़र) को जितना संभव हो उतना काम करना चाहता हूं, क्योंकि यह ब्राउज़िंग अनुभव को और अधिक धाराप्रवाह और अच्छा कर देगा .. – Dimser