2012-04-22 5 views
6

मैं चार्ट पृष्ठभूमि को एक पारदर्शी रूप देना चाहता हूं (पूरी तरह से पारदर्शी लेकिन थोड़ा सा नहीं)। मेरा कोड यहाँ है। मैंने पारदर्शिता जोड़ने के लिए कुछ कोड लाइनें जोड़ दी हैं, लेकिन मुझे लगता है कि ChartPanel पारदर्शी नहीं हो रहा है। उन कोड लाइनों को लिखने के बाद, चार्ट बैकगाउंड ग्रे दिखाई दे रहा है।जेएफरीचार्ट चार्टपैन ट्रांसपेरेंटेंट नहीं मिला

JFreeChart chart = ChartFactory.createPieChart3D(
    "Full traffic view", pieDataset, true, true, true); 

PiePlot3D p = (PiePlot3D) chart.getPlot(); 

PieRenderer renderer = new PieRenderer(sampleColors); 
renderer.setColor(p, pieDataset); 
p.setDepthFactor(0.07); 
p.setCircular(true); 
p.setLabelOutlinePaint(null); 
p.setLabelBackgroundPaint(null); 
p.setLabelShadowPaint(null); 

p.setBackgroundPaint(new Color(127, 127, 127, 64)); // tranparency code 
p.setBackgroundImageAlpha(0.0f); 

p.setSimpleLabels(true); 
p.setLabelGenerator(null); 
p.setBackgroundPaint(
new GradientPaint(0, 0, Color.white, 0, 100, Color.white)); 
p.setDarkerSides(true); 
ChartPanel frame1 = new ChartPanel(chart); 
ChartPanel.setVisible(true); 
ChartPanel.add(frame1); 

ChartPanel.setSize(640, 400); 
+0

केवल अनुमान लगा सकता है कि ग्रे क्या है और क्यों। – trashgod

उत्तर

2

क्योंकि इस बल्कि मंच और संस्करण पर निर्भर हो सकता है, आप Plot पर setBackgroundImageAlpha() पर देखने के वांछित प्रभाव प्राप्त करने के लिए हो सकता है।

1

मैं तथापि समान समस्या का सामना करने के बाद मैं 0.0f यानी

setBacgroundImageAlpha (0.0f) के लिए पृष्ठभूमि छवि सेट इसे हल कर ली। चूंकि यह पृष्ठभूमि छवि को चित्रित करते समय अल्फा पारदर्शिता सेट करता है।

अल्फा पारदर्शिता (श्रेणी 0.0f से 1.0f में, जहां 0.0f पूरी तरह पारदर्शी है, और 1.0f पूरी तरह से अपारदर्शी है)।

यह काम करता है क्योंकि पीएनजी (पोर्टेबल नेटवर्क ग्राफिक्स) प्रारूप अल्फा चैनल पारदर्शिता का समर्थन करता है।

फर्क सिर्फ इतना है कि मैं अपने कोड के बीच पाया जाता है और खान में

p.setBackgroundPaint था (नए रंग (127, 127, 127, 64)); // आपका ट्रांपेरेंसी कोड

p.setBackgroundPaint (नया रंग (255,255,255,0)); // मेरी पारदर्शिता कोड

4

मैंने पाया मैं चार्ट और साजिश के लिए एक पारदर्शी रंग दोनों का उपयोग करना होगा: बिना अपने [sscce] (http://sscce.org/), हम

val trans = new Color(0xFF, 0xFF, 0xFF, 0) 
chart.setBackgroundPaint(trans) 
plot .setBackgroundPaint(trans) 
संबंधित मुद्दे