2011-09-18 12 views
8

यह छोटा सा कोड अंतराल में स्पष्ट वर्ष कैनवास डेटा:कैनवास फ़िलस्टाइल/अस्पष्टता

// start interval 
ctx.save(); 
    ctx.fillStyle = "rgba(0, 0, 0, 0.2)"; 
    ctx.fillRect(0, 0, ctx.width, ctx.height); 
ctx.restore(); 
//some draw code for new graph 
... 
//end interval 

मेरे कार्य क्षेत्र, काले हो जाते हैं क्योंकि मैं भरण रंग (RGBA (0, 0, 0 के रूप में काला निर्धारित करते हैं, .2)), लेकिन मुझे एक पारदर्शी पृष्ठभूमि की जरूरत है, काला नहीं।

मैंने ग्लोबल अल्फा और छविपूटडाटा का उपयोग करने की कोशिश की लेकिन मैं असफल रहा।

मैं यह कैसे कर सकता हूं?

+0

आप 'clearRect' की कोशिश की है? – c69

+0

यदि मैं रेक्ट साफ़ करता हूं, तो यह सभी पुराने डेटा को साफ़ करता है, लेकिन मुझे पुराने डेटा को सहेजने और इसके लिए अस्पष्टता सेट करने की आवश्यकता है (इसलिए मैं आरजीबीए रंग मॉडल का उपयोग क्यों करता हूं) जब तक अंतराल ने इसे पूरी तरह पारदर्शी नहीं बनाया – user951114

+1

शायद 'ctx.globalCompositeOperation =' गंतव्य सेट करें -उट 'और फिर ड्रा? – c69

उत्तर

5

rgba(0,0,0,.2) fillStyle और fillRect() दोनों क्रोम और फ़ायरफ़ॉक्स पर मेरे लिए काम करता है - यह अर्ध-पारदर्शी काला भरता है। यह सुनिश्चित करने के लिए जांचें कि आप कुछ और नहीं कर रहे हैं जो किसी प्रकार का पूरी तरह से अपारदर्शी रंग पैदा कर रहा है।

3

के बजाय मैं इस आपकी समस्या का समाधान होगा लगता है

ctx.fillStyle = "rgba(255, 255, 255, 0.5)"; 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^