मैं निम्नलिखित कोड के साथ बनाया एक पारदर्शी BufferedImage है (प्रासंगिक नहीं है कि यह कैसे बनाया जाता है, मुझे लगता है कि):साफ़ एक पारदर्शी BufferedImage के रूप में संभव
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gs = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = gs.getDefaultConfiguration();
Rectangle screen = transformationContext.getScreen();
// Create an image that supports transparent pixels
return gc.createCompatibleImage((int) screen.getWidth(), (int) screen.getHeight(),
Transparency.BITMASK);
मैं छवि कैसे मिटाएं (में खाली छवि उसी स्थिति को बनाया गया था) छवि को पुनर्निर्माण किए बिना सबसे तेज़ तरीके से संभव है? छवि को दोबारा बनाने से जीसी पर बोझ पड़ता है, वीएम को रोक दिया जाता है और यूआई को ठंडा कर दिया जाता है।
'clearRect' को 1.1 के बाद से बहिष्कृत कहा जाता है हालांकि इसे इस तरह टैग नहीं किया गया है (शायद क्योंकि एनोटेशन अभी तक मौजूद नहीं है?)। पसंदीदा तरीका अब है: 'graphics.setComposite (AlphaComposite.Clear); graphics.fillRect (0, 0, आकार, SIZE); graphics.setComposite (AlphaComposite.SrcOver); '(मान लें कि SrcOver संयुक्त था जिसे आपने पहले उपयोग किया था, और डिफ़ॉल्ट है) यह वास्तव में' clearRect' के कार्यान्वयन के करीब है। –
जावा दस्तावेज़ में कोई बहिष्करण टैग नहीं है, इसलिए मुझे लगता है कि यह अभी भी मान्य है –
@ adrian.tarau यही वह है जिसका वह संदर्भ दे रहा है; एनोटेशन। Javadocs स्वचालित रूप से उत्पन्न होते हैं; चूंकि '@ बहिष्कृत' एनोटेशन कोड में नहीं है (यह अभी तक अस्तित्व में नहीं था) तो यह javadocs में नहीं था। – Qix