मेरे पास एक त्वरित प्रश्न है। मैं JComponent.paint या paintComponent द्वारा उत्पन्न छवि कैसे प्राप्त करूं?मैं छवि पेंट/पेंट कॉम्पोनेंट कैसे उत्पन्न करूं?
मेरे पास एक जेकंपोनेंट है जिसे मैं 'वर्कस्पेस' के रूप में उपयोग करता हूं और जहां मैंने स्वयं को पेंट कॉम्पोनेंट विधि को अधिलेखित किया है। बात यह है कि मेरे वर्कस्पेस जेकंपोनेंट में ऐसे बच्चे भी हैं जिनके पास अपना स्वयं का पेंट कॉम्पोनेंट विधियां हैं।
तो जब स्विंग मेरे वर्कस्पेस घटक को प्रस्तुत करता है, तो यह वर्कस्पेस ग्राफिक्स और उसके बाद के बच्चों को प्रस्तुत करता है।
हालांकि, मैं छवि को अपना वर्कस्पेस घटक उत्पन्न करना चाहता हूं (जिसमें वर्कस्पेस ग्राफिक्स और बच्चों के ग्राफिक्स शामिल हैं)।
मैं यह कैसे कर सकता हूं?
मैंने अपने स्वयं के ग्राफिक्स का उपयोग करके पेंट कॉम्पोनेंट/पेंट-विधि को कॉल करने का प्रयास किया, लेकिन मैंने अभी एक काला छवि लौटा दी। यहां मैंने कोशिश की है;
public void paintComponent(Graphics g) {
if (bufferedImage != null) {
g.drawImage(bufferedImage, 0, 0, this);
}
else {
g.setColor(Color.WHITE);
g.fillRect(0, 0, bufferedImage.getWidth(), bufferedImage.getHeight());
}
}
public BufferedImage getImage() {
BufferedImage hello = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics g = hello.getGraphics();
paintComponent(g);
return hello;
}
कोई भी विचार या टिप्पणियां आपका स्वागत है! :)
उपयोगकर्ता द्वारा विधि 'getImage' कहा जाता है, जिसका अर्थ है कि एप्लिकेशन में काफी समय है। – user20298