मैं एक हरे रंग की रेखा के बाईं ओर एक लाल रेखा खींचने के लिए एचटीएमएल 5 कैनवास का उपयोग करने की कोशिश कर रहा हूं। यहां मेरा जावास्क्रिप्ट है:मैं अपने HTML5 कैनवास में अलग-अलग रंगों की दो पंक्तियां क्यों नहीं खींच सकता?
var canvas = document.createElement('canvas');
canvas.height = 150;
canvas.width = 150;
var canvasContext = canvas.getContext('2d');
canvasContext.beginPath();
// Draw the red line.
canvasContext.strokeStyle = '#f00';
canvasContext.moveTo(10, 0);
canvasContext.lineTo(10, 100);
canvasContext.stroke();
// Draw the green line.
canvasContext.moveTo(50, 0);
canvasContext.strokeStyle = '#0f0';
canvasContext.lineTo(50, 100);
canvasContext.stroke();
document.body.appendChild(canvas);
हालांकि, Google क्रोम में, मुझे हल्के हरे रंग की रेखा के बाईं ओर एक गहरा हरा रेखा मिलती है। क्यूं कर? मैंने स्ट्रोक को दो बार सही कहा? इसलिए, मेरा पहला स्ट्रोक क्यों मेरे दूसरे को प्रभावित करेगा?
Here एक जेएसफ़िल्ड है जो मेरा मतलब बताता है।
धन्यवाद, अगर ऐसा है, तो मेरा दूसरा प्रश्न है: बायीं ओर की रेखा दूसरी की तुलना में गहरा क्यों है? मैंने किसी भी लाइन के लिए अस्पष्टता मूल्य निर्धारित नहीं किया है, तो कैनवास रंगों को क्यों मिश्रित करता है? – dangerChihuahua007
मुझे ईमानदारी से कोई जानकारी नहीं है। [प्रलेखन] (http://dev.w3.org/html5/2dcontext/#dom-context-2d-beginpath) को देखकर, ऐसा लगता है कि 'startPath()' subpaths को साफ़ करता है, इसलिए संभवतः दूसरी पंक्ति है (किसी भी तरह) पिछले एक और वर्तमान का संयोजन। – Blender
मुझे लगता है कि आपने इसे दो बार खींचा है, यदि आप प्रारंभिक स्ट्रोक को हटाते हैं, तो वे दोनों एक ही रंग होंगे, हालांकि यह अभी भी अजीब है, मुझे नहीं लगता कि फ्रेम बफर को साफ़ किया जा रहा है, जब आप कई बार स्ट्रोक कहते हैं, या डिफ़ॉल्ट अस्पष्टता के साथ कुछ करने के लिए। –